Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Вниз

OnKeyDown формы и контрола на форме...   Найти похожие ветки 

 
Sirus   (2004-05-27 07:04) [0]

Привет Мастера...
OnKeyDown формы выполняется раньше чем OnKeyDown контрола на этой форме...
Вопрос: можно ли как-нибудь сделать чтобы сначала выполнялся OnKeyDown контрола, а потом уже OnKeyDown формы???


 
TUser ©   (2004-05-27 07:37) [1]

В обработичике формы проверять, не попадает ли место, где расположен курсор мышки на какой-нибудь контрол.


 
Sirus   (2004-05-27 08:18) [2]

Причем тут мышь???

Дело в том что, при Key=VK_RETURN OnKeyDown контрола выполняет некоторые действия, а потом в зависимости от полученных результатов меняет свойство Enabled некоторых контролов на форме.
А в OnKeyDown формы просто осущсествляется переход фокуса на следующий контрол:
If Key=VK_RETURN then Perform(WM_NEXTDLGCTL, 0, 0);
Так вот на данный момент иногда получается что фокус переходит не на тот контрол. Т.е. сначала осуществляется переход фокуса, а потом определяется на какой контрол переходить. А мне нужно совсем наоборот.
Указывать в OnKeyDown каждого контрола SetFocus просто влом... :))


 
Sandman25+1   (2004-05-27 09:05) [3]

FormKeyDown:

if Assigned(ActiveControl.OnKeyDown) then
 ActiveControl.OnKeyDown(...);
if Key=VK_RETURN then
 ...

Могут быть ошибки, но идея, надеюсь, понятна


 
Kair ©   (2004-05-27 09:11) [4]

В OnKeyDown (в конце ессено) компонента написать то, что ты хочешь сделать в OnKeyDown формы...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.028 c
1-1085582726
hamster
2004-05-26 18:45
2004.06.06
Bmp в DLL


14-1085150744
beast
2004-05-21 18:45
2004.06.06
Где можно найти?


1-1085674813
Sergey
2004-05-27 20:20
2004.06.06
Удаленный файл


1-1085647677
Dysan
2004-05-27 12:47
2004.06.06
доступ к классу описанному в dll ?


4-1083689831
Defunct
2004-05-04 20:57
2004.06.06
Как определить номер потока?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский