![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нажатие клавиши
_Landgraf_ © (2005-08-31 15:17:00)Подскажите пожалуйста, с помощью какой функции WinAPI можно отследить нажатие кнопки на клавиатуре. Например я нажимаю Esc, прога перехватывает его код(#13 или #27) и отключает таймер. Событие OnKeyPress не потходит, т.к. если форма потеряет фокус, например я кликну на memo, соответственно нажатие клавиши уже не будет перехватываться. А вешать на каждый элемент OnKeyPress глупо.
_Landgraf_ (2005-08-31 16:06:00) [1]Ладно спасибо за ответы, вроде бы заработало, правда и не с помощью функции API. Просто я забыл на форме KeyPreview = True сделать!
ANB (2005-08-31 15:55:00) [2]Самый тупорылый способ (имхо) : создай актион и повесь на него горячую кнопку Esc.
_Landgraf_ (2005-08-31 15:51:00) [3]А можно пример кода?
Digitman (2005-08-31 15:34:00) [4]
> если форма потеряет фокус
.. значит его получила другая форма того же приложения.
Если другой формы нет, то приложение не имеет фокуса, следовательно нажатие юзером Esc вряд ли адресовано этому приложению
В любом случае, если любому из окон приложения было адресовано некое сообщение (в т.ч. извещающее о событии клавиатурного ввода), это сообщение не пройдет мимо твоего обработчика события Application.OnMessage
wal (2005-08-31 15:29:00) [5]Эта, как его, KeyPreview у формы не спасет отца русской демакратии?