![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() Вот замучил один вопрос!
Кто как перехватывает "горячие клавиши" для всего приложения и для конкретной формы? --------------------------------------------- Программирование - не профессия, а стиль жизни |
#2
|
|||
|
|||
![]() Вот, не проверял. Из Delphi World:
Код:
{Для того, чтобы перехватить нажатие какой-то клавиши на клавиатуре можно использовать зарегистрированную "горячую клавишу" (HotKey). Эта программа пикает при нажатии "1". } ... private procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY; ... const MyHotKey = ord('1'); procedure TForm1.WMHotKey(var Msg: TWMHotKey); begin MessageBeep(0); end; procedure TForm1.FormCreate(Sender: TObject); begin RegisterHotKey(Form1.Handle, MyHotKey, 0, MyHotKey); end; procedure TForm1.FormDestroy(Sender: TObject); begin UnRegisterHotKey(Form1.Handle, MyHotKey); end; А для формы проверяешь: Код:
If Form1.Focused then {бла бла бла} UPD проверил, все работает. Enjoy! Последний раз редактировалось Burka, 02.07.2007 в 19:49. |