Entwickler-Ecke
Sonstiges (Delphi) - Strg + Space abfragen?
HaRaH - So 13.02.05 16:39
Titel: Strg + Space abfragen?
Hallo,
kann mir jemand sagen wie man das drücken von zwei Tasten gleichzeitig registrieren kann?
Wenn ich zum Beispiel Strg gedrückt halte und dann auf die Leertaste drücke? Oder Strg und dann einen Buchstaben?
Herzlichen Dank im Vorraus!!
Gruß MaX
jasocul - So 13.02.05 16:46
Dafür musst das OnKeyDown-Ereignis verwenden.
Du kannst "Key" und "Shift" auswerten.
Key ist die eigentliche Taste und in Shift ist die zusätzliche Taste enthalten.
Delete - So 13.02.05 16:48
im OnKeyDown deines Forumlares, sofern KeyPreview auf true steht folgendermaßen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if ssCtrl in Shift then begin if key = ord('A') then beep; if key = VK_Space then color := clgreen; end; end; |
Für weitere Konstanten einfach mal in die Hilfe schnuppern und nach TShiftState und VK_ suchen!
HaRaH - So 13.02.05 16:49
wow - hammer - danke! :dance:
F34r0fTh3D4rk - So 13.02.05 16:51
global oder nur in deinem programm ?
globaler hotkey:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| type TWMHotkey = record Msg: Cardinal; idHotKey: Word; Modifiers: Integer; VirtKey: Integer; end;
const ID = $FF; |
das hier muss noch in den privat abschnitt:
Delphi-Quelltext
1:
| procedure WMHotKey(var Msg: TWMHotKey); Message WM_HOTKEY; |
und das in den implementation teil
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.WMHotKey(Var Msg: TWMHotkey); begin if Msg.IdHotKey = id then showmessage('Hotkey wurde betätigt'); inherited; end;
procedure TForm1.FormCreate(Sender: TObject); begin RegisterHotKey(Form1.Handle, ID, MOD_Control, vk_space); end; |
damit müsste es gehen :?
man kann auch mehrere hotkeys definieren mit ID+1, ID+2, und um Buchstaben zu
machen, nimmt man statt vk_space ord('A') <- Da kann alles von a-z und von 0 -9 rein :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!