key down/de

From Lazarus wiki
Jump to navigationJump to search

Deutsch (de) English (en)

Das Ereignis OnKeyDown eines Objektes erlaubt dem Programmierer festzustellen, welche Taste der Anwender gedrückt hat. Damit kann das Programm auf den Tastendruck des Anwenders gezielt reagieren.

Eine Taste abfragen

uses
  LCLType, Dialogs, ...;
  
  ...
  
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = VK_DOWN) or
     (Key = VK_UP) then
    ShowMessage('Pfeiltaste gedrückt');
  Key := 0; // Notwendig, um in manchen Widgetsets wie Cocoa die Verarbeitung in weiteren UI-Elementen zu verhindern
end;

Zwei Tastencodes abfragen

Einmal wird die Tastaturcode in der Variablen Key und einmal wird der Tastaturcode in der Variablen Shift abgefragt. Die Variable Shift übergibt nur den Tastaturcode der in der Aufzählung TShiftState definiert ist (z.B. ssAlt, ssCtrl, usw.).

uses
  LCLType, Dialogs, ...;
  
  ...
  
procedure TForm1.txtEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
   if ssAlt in Shift then
    if Key = vk_F2 then
     ShowMessage('Alt F2 wurde gedrückt.')
   Key := 0; // Notwendig, um in manchen Widgetsets wie Cocoa die Verarbeitung in weiteren UI-Elementen zu verhindern
end;