Tastendruck abfangen

Hallo,

weiss jemamd eine Idee, wie ich in einen Formular die Tastenkombination STRG + Space abfragen kann?
Es kann jedes beliebiges Objekt selektiert sein.

Ziel ist es bei Druck der Kombination ein Textfeld zu selektieren.

Die Variante der Keypreview eigenschaft des Formulares auf True zu setzen und dann da die Tastendrücke abzufangen ging nicht, da ich da entweder den Ascii Code 17 ( STRG) oder 32(Space) zurueckbekam.

Hat jemand eine Idee?

MFG Alex

Hallo Alex,

sowas fängst Du mit „KeyDown“, „KeyUP“ bzw. mit dem „KeyPress“-Ereigniss ab.

Das Problem an der ganzen Geschichte ist, das jeweils das aktive Steuerelement deiner Applikation das Ereignis empfängt. So müsstest Du für jedes Steuerelement auf Deiner Form das Ereignis programmieren.

Hierfür stellst Du auf Deiner Form die Eigenschaft „KeyPreview“ auf True. Somit wird bei jedem Tastendruck erst das Ereignis auf dem Formular abgearbeitet, dann erst beim Steuerelement. So hast Du eine zentrale Stelle für Deine Key-Ereignisse.

übrigens:
Strg+A - Strg+Z = Code 1 bis 26

hoffe es hilft

Viele Grüße

Rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Rasta,

vielen dank für deine rasche antwort :smile:

Ich habe das so gemacht wie du das sagtest. Den Ansatz hatte ich ja schon.
ICh habe nun folgendes probiert.

Private Sub Form\_KeyUp(KeyCode As Integer, Shift As Integer)
 MsgBox KeyCode
End Sub

Wenn ich nun STRG+A druecke bekomme ich 65 angezeigt.
Druecke ich STRG+Space bekomme ich 32 angezeigt.
Druecke ich nur STRG so bekomme ich 17 angezeigt.

Was ich aber herausgefunden habe, ist das der Parameter mir zurueckgibt, ob Shift, Alt oder STRG gedrueckt wurde.

Ist Shift =0 dann wurde nur eine taste gedrueckt
Ist shift =1 wurde zusaetzlich die Shift Taste gedrueckt ( Bsp. Shift +a)
ist Shift =2 wurde zusaetzlich die STRG Taste gedrueckt ( Bsp. STRG + a)
ist Shift =4 wurde zusaetzlich die ALT Taste gedrueckt ( Bsp. Alt +a)

Soweit habe ich das bereits herausbekommen. Aber was ich nun nicht weiss wie bekomme ich heraus wenn die Tabtaste gedrueckt wurde?
Dieses interessiert mich nur wenn das Textfeld makiert ist.
Weisst du da eine Idee?

MFG ALex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]