WM_LBUTTONUP nach Maximize durch doppelklick auf Titelleiste...



  • Hallo,

    wir haben ein seltsames phänomen entdeckt. Wenn man ein Fenster durch Doppelklick auf die Titelleiste maximiert wird ein WM_LBUTTONUP an das aktive Fenster gesendet in dem die Maus nach dem maximieren ist. Das ist in unserem Fall ein unerwünschtes und reproduzierbares Verhalten.

    Um das ganze reproduzieren zu können habe ich einfach ein neues Win32 Projekt mit VC++ 2k3 angelegt und in die WndProc folgenden MessageHandler eingebaut:

    case WM_LBUTTONUP:        
            MessageBox(hWnd,TEXT("Click"),TEXT("Test"),MB_ICONINFORMATION|MB_OK);
            return 0;
    

    Das ganze einfach kompilieren und dann mal das Fenster durch doppelklick auf die Titelleiste des Programs maximieren. Nun müsste die Messagebox erscheinen.

    Hat jemand ne Ahnung ob das irgendwie umgangen werden kann das die Message dann überhaupt gesendet wird?
    Ich hab schon ne Idee für nen Workaround aber irgendwo ist das nun wirklich nicht schön dafür einen Workaround zu schreiben, ich kann mir nicht wirklich vorstellen das dies generell ein erwünschtes verhalten ist, schon gar nicht bei Fenstern (wie bei uns) die komplett selbstgezeichnet sind und teilweise auf klicks in bestimmten bereichen reagiert.

    BR
    evilissimo



  • das bereitet euch doch nur probleme weil ihr an anderer stelle etwas unsauber gelöst habt.



  • | schrieb:

    das bereitet euch doch nur probleme weil ihr an anderer stelle etwas unsauber gelöst habt.

    Wenn du meinst.



  • evilissimo schrieb:

    Hat jemand ne Ahnung ob das irgendwie umgangen werden kann das die Message dann überhaupt gesendet wird?

    AFAIK kann man das nicht verhindern.

    Kannst du in dem Bereich, der auf WM_LBUTTONUP reagiert, prüfen, ob vorher ein WM_LBUTTONDOWN angekommen ist?



  • bei mir es nicht gesendet 😕
    laut spy auch bei keinem anderen fenster (explorer, mozilla, ...).



  • MFK schrieb:

    evilissimo schrieb:

    Hat jemand ne Ahnung ob das irgendwie umgangen werden kann das die Message dann überhaupt gesendet wird?

    AFAIK kann man das nicht verhindern.

    Kannst du in dem Bereich, der auf WM_LBUTTONUP reagiert, prüfen, ob vorher ein WM_LBUTTONDOWN angekommen ist?

    Das wäre teil des Workarounds das ich dann implementieren würde.

    miller_m schrieb:

    bei mir es nicht gesendet 😕
    laut spy auch bei keinem anderen fenster (explorer, mozilla, ...).

    Also mir sagt auch Spy++ das es gesendet wird.

    BR
    evilissimo



  • evilissimo schrieb:

    Also mir sagt auch Spy++ das es gesendet wird.

    war nen schnellschuss wird doch gesendet. 😞


Anmelden zum Antworten