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

Вниз

Определить нажатие кнопки   Найти похожие ветки 

 
i2e   (2013-08-16 12:38) [0]

Как отловить событие нажатия кнопки, в главной форме? Событие формы OnKeyDown не вызывается когда фокус находится на каком-либо элементе, например, в строке Edit.
И когда-то уже такое делал, а как - вспомнить не могу..


 
[ВладОшин] ©   (2013-08-16 13:11) [1]

KeyPreview


 
i2e   (2013-08-16 13:23) [2]

нарыл на форуме http://rpdn.ru/forum/25/198/

type
 TForm1 = class(TForm)
   ...
   procedure OnTABPress(Var Msg: TWMKey); message CM_DIALOGKEY;

...

procedure TForm1.OnTABPress(Var Msg: TWMKEY);
begin
if (ActiveControl is TEdit) and (Msg.Charcode = VK_TAB) then ShowMessage("Нажата клавиша TAB");
inherited;
end;


Проверил, работает.


 
ProgRAMmer Dimonych ©   (2013-08-16 13:48) [3]

> [2] i2e   (16.08.13 13:23)

А мусьи там знают толк.


 
[ВладОшин] ©   (2013-08-16 14:06) [4]

да, с ТАБ, походу, только так
можно посмотреть как в TCustomForm реализовано (почти также :)
т.е.
 public      { Public declarations }
   procedure CMDialogKey(var Message: TCMDialogKey);  message CM_DIALOGKEY;
 end;


 
[ВладОшин] ©   (2013-08-16 14:06) [5]

а зачем, кстати это надо может быть вообще?


 
stas ©   (2013-08-16 17:24) [6]

Можно использовать ActionList и не морочить голову.


 
i2e   (2013-08-19 06:41) [7]

свойство KeyPreview - в моем случае оказался самый простой к реализации вариант.
его и оставил. всё получилось.



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

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

Наверх




Память: 0.47 MB
Время: 0.006 c
2-1374235840
Dymok
2013-07-19 16:10
2014.06.08
Как обмануть таймер простоя


15-1385394712
Абориген
2013-11-25 19:51
2014.06.08
Где взять карты из Windows?


15-1385670603
Юрий
2013-11-29 00:30
2014.06.08
С днем рождения ! 29 ноября 2013 пятница


15-1385393065
Абориген
2013-11-25 19:24
2014.06.08
Простая задачка


15-1385474888
Абориген
2013-11-26 18:08
2014.06.08
SaveToFile. Отказано в доступе.