На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Win Api / События KeyPress и KeyDown не вызываются для клавиши Tab - как определить, что она была нажата? Сделать домашней страницей Добавить в избранное Написать писмо

События KeyPress и KeyDown не вызываются для клавиши Tab - как определить, что она была нажата?


На уровне формы клавиша tab обычно обрабатывается Windows. В примере создается обработчик события CM_Dialog для перехвата Dialog keys.
Пример:

type
   TForm1 = class(TForm)
   private
       procedure CMDialogKey( Var msg: TCMDialogKey );
       message CM_DIALOGKEY;
end;

var
   Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.CMDialogKey(var msg: TCMDialogKey);
begin
   if msg.Charcode <> VK_TAB then
       inherited;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
   if Key = VK_TAB then
   Form1.Caption := 'Tab Key Down!';
end;



Источник: Дельфи. Вокруг да около.


Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz