![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отловить нажатие клавиши TAB
zeroo © (2005-05-28 17:44:00)Когда фокус на окне, то WM_KEYDOWN. А когда на кнопке? Не создавать же для кнопок обработчики, как для окон!
Marser (2005-05-28 23:26:00) [1]Отлови сообщение WM_GETDLGCODE на контроле и верни DLGC_WANTTAB. Это вернёт обработку Tab в твой контрол.
Cobalt (2005-05-28 22:57:00) [2]смотри WM_GETDLGCODE
zeroo (2005-05-28 21:30:00) [3]Нет, окно создано посредством WinAPI
В окне есть несколько контролов, если ни один из них не имеет фокуса, TAB ловится и через WM_KEYDOWN, но если сфокусировать кокую-нибудь кнопку, то никак не получается отловить нажатие... По идее, сообщение WM_KEYDOWN отсылается уже не окну, а именно этой кнопке.
XProger (2005-05-28 20:27:00) [4]zeroo, если VCL то у формы есть KeyPreview который ты выставишь в true и будешь ловить её в onKeyDown формы
А через Win API WM_SYSKEYDOWN
zeroo (2005-05-28 17:48:00) [5]То есть оконные процедуры!