Главная страница
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.004 c
1-1324888140
DmitriyG.
2011-12-26 12:29
2014.06.08
Delphi XE2 + DecompressDeflate


15-1385370166
Empleado
2013-11-25 13:02
2014.06.08
Немного о вирусах


1-1325530715
S-C-L
2012-01-02 22:58
2014.06.08
XML Parser


15-1385641583
Девушка
2013-11-28 16:26
2014.06.08
HTTPRIO просунуть xml


15-1385238602
Юрий
2013-11-24 00:30
2014.06.08
С днем рождения ! 24 ноября 2013 воскресенье