Form_Keydown mit vbKeyAdd/vbKeySubstract

21/03/2014 - 08:05 von Ahmed Martens | Report spam
Hallo Leute,

ich möchte in einem Programm eine globale Tastenkombination einrichten.
Hierfür verwende ich das Form_KeyDown-Ereignis und funktioniert auch
soweit.

Nun möchte ich aber auch Strg++ / Strg+- verwenden.

Hierzu verwende ich folgenden Code:
Select case Shift

Case vbCtrlMask
Select Case KeyCode
Case 189 'Buchstabenblock
[...]
Case 187 'Buchstabenblock
[...]
End Select
End Select

Jetzt möchte ich aber gerne auch noch die Tasten aus dem Numblock
verwenden, da dies erwartungskonform ist, das beide Tasten
gleichberechtigt sind. Aber leider wird die vbKeyAdd/vbKeySubstract
nicht erkannt. Dies funktioniert ausschließlich im eigentlichen Control.

Es ist mir aber zu mühsam, jetzt für alle Controls so eine Funktion
bereitzustellen. Daher meine Frage, ob jemand eine Idee hat, wie ich das
hinbekomme.

Vielen Dank im voraus.

Gruß Ahmed
Antworten bitte nur in der Newsgroup.
Win7 Prof. 64bit / MS-Office 2010 Prof. 32bit
 

Lesen sie die antworten

#1 Wolfgang Wolf
21/03/2014 - 09:32 | Warnen spam
Am 21.03.2014 08:05, schrieb Ahmed Martens:
Hallo Leute,

ich möchte in einem Programm eine globale Tastenkombination einrichten.
Hierfür verwende ich das Form_KeyDown-Ereignis und funktioniert auch
soweit.




Im Ereignis könntest du den Status dieser Tasten zusàtzlich mit
GetAsyncKeyState prüfen.

Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal
nVirtKey As Long) As Long

Beispiel:

retval = GetAsyncKeyState(vbKeyShift)
If retval And &H8000 Then 'Umschalttaste ist gerade gedrückt

Schönen Gruß
W. Wolf

Ähnliche fragen