OnKeyDown & VK_F10
-
Halli hallo, hab mal wieder ein Problem

Ich reagiere in der OnKeyDown meiner Fensterklasse auf Tastendrücke (spektakulär o. ?) nur bei F10 wird OnKeyDown nicht ausgelöst. Weiss vieleicht jemand woran das liegt?
Achso, ich progge zur Zeit in VS8, prof. ...Vielen Dank,
connan
-
Ein Blick in die MSDN kann da weiterhelfen:
WM_KEYDOWN schrieb:
If the F10 key is pressed, the DefWindowProc function sets an internal flag. When DefWindowProc receives the WM_KEYUP message, the function checks whether the internal flag is set and, if so, sends a WM_SYSCOMMAND message to the top-level window. The wParam parameter of the message is set to SC_KEYMENU.
-
Oh, Danke, aber wie kann ich dieses Problem nun umgehen, die MSDN hilft mir da erst mal nicht weiter.
-
Also so wie ich das jetzt verstehe, wird beim Drücken der F10 Taste ein Flag gesetzt das Windows dazu veranlässt eine WM_SYSCOMMAND Nachricht zu senden. Die wParam enthält dann den Wert SC_KEYMENU.
Also musst du auf die Nachricht für die F10 Taste reagieren.
-
Nochmal Danke, mag sein, dass ich heute nicht so ganz auf der Höhe bin...
OnSysCommand hat bei mir nur lParam (=0) und nID (=61696) als Parameter, sie wird zwar aufgerufen aber an SC_KEYMENU komme ich nicht ran
-
Ok, ich habs jetzt, anscheinend enthält nID den wParam Parameter.
Danke
connan
-
Ein Problem gibts doch noch

Ich kann jetzt quasi nur auf WM_KEYUP reagieren, würde aber das Ereigniss gern beim Druck auf die Taste auslösen und nicht erst beim loslassen.
Noch Ideen?
-
Versuch doch mal mit Spy++ herauszufinden, welche Nachricht beim Druck auf F10 versandt wird...
-
He, Danke für den Tip!
Es werden WM_SYSKEYDOWN und WM_SYSKEYUP Nachrichten versandt, damit gehts jetzt