Главная страница | назад





Article #17060: Detecting tab key press

 Question and Answer Database
FAQ2060D.txt Detecting tab key press
Category :VCL
Platform :All
Product :All 32 bit
Question:
Since the KeyPress and the KeyDown events do not get called
for the tab key, how do I trap the tab key at the form level?
Answer:
At form level, the tab key is generally handled by Windows. The
following example demonstrates creating a CM_Dialog message
handler to trap for Dialog keys. The code surfaces the tab
character through the KeyPress event.
Example:
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;
7/16/98 4:31:28 PM

Last Modified: 01-SEP-99