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

Вниз

Нажатие клавиши   Найти похожие ветки 

 
_Landgraf_   (2005-08-31 15:17) [0]

Подскажите пожалуйста, с помощью какой функции WinAPI можно отследить нажатие кнопки на клавиатуре. Например я нажимаю Esc, прога перехватывает его код(#13 или #27) и отключает таймер. Событие OnKeyPress не потходит, т.к. если форма потеряет фокус, например я кликну на memo, соответственно нажатие клавиши уже не будет перехватываться. А вешать на каждый элемент OnKeyPress глупо.


 
wal ©   (2005-08-31 15:29) [1]

Эта, как его, KeyPreview у формы не спасет отца русской демакратии?


 
Digitman ©   (2005-08-31 15:34) [2]


> если форма потеряет фокус


.. значит его получила другая форма того же приложения.

Если другой формы нет, то приложение не имеет фокуса, следовательно нажатие юзером Esc вряд ли адресовано этому приложению

В любом случае, если любому из окон приложения было адресовано некое сообщение (в т.ч. извещающее о событии клавиатурного ввода), это сообщение не пройдет мимо твоего обработчика события Application.OnMessage


 
_Landgraf_   (2005-08-31 15:51) [3]

А можно пример кода?


 
ANB ©   (2005-08-31 15:55) [4]

Самый тупорылый способ (имхо) : создай актион и повесь на него горячую кнопку Esc.


 
_Landgraf_   (2005-08-31 16:06) [5]

Ладно спасибо за ответы, вроде бы заработало, правда и не с помощью функции API. Просто я забыл на форме KeyPreview = True сделать!



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

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

Наверх




Память: 0.47 MB
Время: 0.05 c
3-1127449796
SQL-nik
2005-09-23 08:29
2005.11.06
Обнуление "счетчика" уникального поля


3-1127459903
Леди
2005-09-23 11:18
2005.11.06
Что за ошибка? Command contains unrecognized phrase/keyword.


14-1129239730
ron
2005-10-14 01:42
2005.11.06
Independent Software Developers Forum (ISDEF)


2-1129264419
nnn
2005-10-14 08:33
2005.11.06
Проблема с DBLookupComboBox


2-1129298933
roma40
2005-10-14 18:08
2005.11.06
интернет