DruckenMister WongFacebook

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

System Win9x, WinNT, Win2000, WinXP, Vista, Win7
Ab Delphi-Version Delphi 1
Letzte Änderung 28.09.2010

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;