![]() |
Str gedrückt?
Hallo
Wie frage ich ab, ob die Steuerung Taste gerade gedrückt ist? Also ein Button soll bei gedrücktem Str eine andere Funktion bekommen! |
Re: Str gedrückt?
Delphi-Quellcode:
So was ?
procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if Shift = [ssCtrl] then mach_was_anderes := TRUE else mach_was_anderes := FALSE; end; procedure TForm1.Button1Click(Sender: TObject); begin if mach_was_anderes then NoCtrlKey else JuppCtrlKey; end; |
Re: Str gedrückt?
Hallo :hi:
Das kannst du allgemein mit GetKeyboardState abfragen (Edit: oder in diesem Fall so wie Matti)
Delphi-Quellcode:
function CtrlPressed : Boolean;
var KeybdState: TKeyboardState; begin GetKeyboardState(KeybdState); Result := ((KeybdState[VK_CONTROL] and 128) <> 0); end; |
Re: Str gedrückt?
Zitat:
Delphi-Quellcode:
mach_was_anderes := Shift = [ssCtrl];
|
Re: Str gedrückt?
Wobei das nur funktioniert, wenn NUR Strg gedrückt ist, aber nicht noch zusätzlich Alt oder Shift.
das hier funktioniert auch, wenn noch andere tasten gedrückt sind:
Delphi-Quellcode:
mach_was_anderes := ssCtrl in Shift;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz