Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Куда девается сообщение клавиатуры?   Найти похожие ветки 

 
capkoh ©   (2005-10-08 20:45) [0]

Собственно мне не понятно куда пропадает сообщение при нажатии Alt+Backspace. В обработчик WM_CHAR и WM_KEYDOWN такая комбинация не попадает. Да еще и просто Alt куда-то девается. И что происходит с TEdit (стандартный копонент), если нажать) теже Alt+Backspace? Он почему-то начинает beep"ать и перерисовываться. Впрочем, такая комбинация начинает beep"ать и на других активных контролах. Однако, выяснилось, что Alt+Backspace и Ctrl+Backspace вызывают выполнение сообщения WM_KILLFOCUS (и еще чего-то) для текущего контрола. И ещё косвенный вопрос: как поймать Все сообщения клавиатуры? Неужели придется перегружать WNDProc?

P.S. Эти же симптомы есть и в наследнике TCustomControl.


 
GuAV ©   (2005-10-08 21:23) [1]

WM_SYSCHAR

WM_SYSKEYDOWN
WM_SYSKEYUP


 
capkoh ©   (2005-10-08 22:00) [2]

За WM_SYSKEYDOWN спасибо. А убивается дальнейшая его обработка (что б не beep"ало и перерисовывалось) как обычно: Message.CharCode := 0?
И ещё. Есть ли промежуточные сообщения в обработке между WM_SYSKEYDOWN  и WM_SYSCHAR? Т.к. лучше убить тогда обработку в конце WM_SYSCHAR, чтобы знать что же было нажато.


 
GuAV ©   (2005-10-08 22:32) [3]

Чтобы не beep"ало, достаточно не вызывать стандартный обработчик из WM_SYSCHAR.

Поведение WM_SYSххх идентично поведению соответствующих WM_xxx, насколько мне известно.


> как поймать Все сообщения клавиатуры? Неужели придется
> перегружать WNDProc?

Или ловить каждое в отдельном message-методе или перегружать WNDProc, второе, как мне кажется, в данном случае удобнее.


 
capkoh ©   (2005-10-09 00:35) [4]


> Поведение WM_SYSххх идентично поведению соответствующих
> WM_xxx, насколько мне известно.

Да, проверено. Спасибо.


 
capkoh ©   (2005-10-10 22:24) [5]

А вот что еще за сообщения WM_DEADCHAR и WM_SYSDEADCHAR? Точнее, зачем они могут мне пригодиться? Они нужны только для того, чтобы сообщить о том, что данный символ является комбинированным? И что, кроме себя, они еще посылают окну?



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

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
14-1132162975
Knight
2005-11-16 20:42
2005.12.11
Вопрос к владельцам Nokia 6100... у кого есть прошивка?


14-1132587990
oldman
2005-11-21 18:46
2005.12.11
Вот тебе и раз...


14-1132314922
Opilki_Inside
2005-11-18 14:55
2005.12.11
Полупрозрачность иконок


14-1131899671
default
2005-11-13 19:34
2005.12.11
Задачка


1-1131700195
IGray
2005-11-11 12:09
2005.12.11
Как узнать, загружена ли чужая DLL abc.dll в память?