Delphi-Help

Главная Статьи Клавиши События KeyPress и KeyDown не вызываются для клавиши Tab

События KeyPress и KeyDown не вызываются для клавиши Tab

Оцените материал
(0 голосов)


События 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;
Прочитано 4762 раз

Авторизация



Счетчики