Popup ohne Clientbereich?
-
Ich habe ein Programm erstellt mit dem Style WS_POPUP und wundere mich nun, dass ich keine Messages wie WM_LBUTTONDOWN oder WM_KEYDOWN erfassen kann.
Nur Menu-Nachrichten werden ausgewertet
Hier der Code des WndProc:
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_CLOSE: DestroyWindow(hwnd); break; case WM_DESTROY: PostQuitMessage(0); break; case WM_KEYDOWN: PostQuitMessage(0); break; default: return DefWindowProc(hwnd, msg, wParam, lParam); } return 0; }
-
zeig doch mal deinen erstellungscode, denn bei mir funktioniert das einwandfrei.
-
case WM_KEYDOWN: PostQuitMessage(0); break;
Du forderst mit jedem Tastendruck das Fenster zum Schließen auf. Da kommt doch die WM_KEYDOWN an. Aber Menünachrichten kann ich in dem Prog nicht finden.
-
clw schrieb:
Ich habe ein Programm erstellt mit dem Style WS_POPUP und wundere mich nun, dass ich keine Messages wie WM_LBUTTONDOWN oder WM_KEYDOWN erfassen kann.
er bekommt die nachrichten eben nicht
-
Wenn ich mich nicht irre: Wenn WM_CLOSE oder die Menünachrichten funktionieren, setzt das doch eine WM_LBUTTONUP bzw. genauso WM_LBUTTONDOWN voraus. Erst damit kann Windows die Position in der Schaltfläche ermitteln. Die muß also doch ankommen. (Vielleicht auch für mich zum Verständnis)..