Tastenkombination (2) "annehmen"?

Mailyn

Erfahrenes Mitglied
Ich weiss, wie es geht, dass ich bei EINEM Tastendruck (KeyDown...Keycode...ASCII...)
eine Aktionauslösen kann! Aber wie geht dies bei 2 Tasten, also einer Tastenkombination, zum Beispiel aus Strg und Q oder so!?
(Mache das mit EINER Taste immer so:
Form KeyPreview auf True setzen und dann beim Form_KeyDown-Ereignis beim Entsprechenden ASCII- Wert (zum Beispiel 13 [Enter]) ein Ereignis auslösen!)
 
Hier ein Beispiel:
Code:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
 
 If Shift = vbCtrlMask And KeyCode = vbKeyQ Then
   MsgBox "Strg - Taste + Q wurde gedrückt"
 End If

 If Shift = vbShiftMask And KeyCode = vbKeyQ Then
   MsgBox "Umschalt - Taste + Q wurde gedrückt"
 End If

 If Shift = vbAltMask And KeyCode = vbKeyQ Then
   MsgBox "Alt - Taste + Q wurde gedrückt"
 End If

End Sub
 
Ich habe zu dem Thema auch eine Frage: wie macht man es denn am Besten, wenn man "exotische" Tastenkombinationen wie beispielsweise T + C abfragen möchte? Mir fällt nur ein, im KeyDown-Ereignis die zuletzt gedrückte Taste und die vorletzte Taste zu überprüfen.
(Taste1 wird gedrückt -->im Programm merken; dann wird Taste2 gedrückt und im Programm wird überprüft, ob zuvor Taste1 gedrückt worden ist.)
Aber geht das auch anders?
 
@ Shakie

Da gibt es die Api GetAsynckeyState mit der kann man sowas ebenfalls prüfen ich habe aber immo kein Beispielcode dafür


Gruss bb
 
Zurück