Home » Tipps & Tricks » System » Tastatur und Maus » Strg-/Alt-/Shift-Taste bzw. Shift-/Control

Strg-/Alt-/Shift-Taste bzw. Shift-/Control

Wie kann ich prüfen, ob eine der oben genannten Tasten gedrückt wurde?Dazu gibt’s mehrere Möglichkeiten. Die Nachfolgende bevorzuge ich für ein OnClick auf eine beliebige Komponente:

function KeyPressed(Key: Integer): Boolean;
// für Shift=vk_shift, für Control=vk_control, für Alt=vk_menu
begin
  KeyPressed := (GetAsyncKeyState(Key) and $8000  0);
end;

Die obige Funktion (oder Unit) müssen Sie in Ihr Programm einbinden.

procedure TForm1.Button1Click(Sender: TObject);
begin
  if KeyPressed(vk_shift) then
   edit1.text:='Shift+Button1' 

  else if KeyPressed(vk_control) then 
    edit1.text:='Control+Button1' 

  else if KeyPressed(vk_menu) then edit1.text:='Alt+Button1' 

  else
    edit1.text:='Button1';
end;