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.



  • @Elektronix

    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).. 😉 😉


Log in to reply