Codes von 2 gleichzeit betätigten Tasten auswerten
-
Hallo
In 'PreTranslateMessage' kann man Nachrichten auswerten. Ich will nun, dann wenn der Benutzer die beiden Tasten "ALT-ESC" betätigt, eine Funktion ausführen lassen.
BOOL CDlg_MeineKlasse::PreTranslateMessage(MSG* pMsg){ // the 'ESC' key has been performed if ((pMsg->message == WM_KEYDOWN ) && (pMsg->wParam == VK_ESCAPE)){ } .... }
Jo, die if-Schlaufe wird durchlaufen, wenn ich die ESC-Taste drücke. Aber wie kombiniere ich nun die beiden Tasten zusammen?
PS: in pMsg->lParam ist kein Tastencode....
-
Ich würde es wahrscheinlich so machen:
SHORT GetAsyncKeyState( int vKey // virtual-key code );
Hiemrit kannst du zu jeder Zeit prüfen, welche Tasten der User gerade gedrückt hat und vor allen Dingen, ob er sie gleichzeitig gedrückt hat.
Je nachdem, wo die Anweisung steht und was du machen willst, müsstest du dann allerdings noch überprüfen, ob dein Programm auch den Fokus hat.
Kann aber auch sein, dass es noch eine more-Windows-like Version gibt