Fenster ohne Titelleiste verschieben



  • Hallo,

    weisz jemand, wie ich ein Fenster ohne Titelleiste verschieben kann? Ich fummel nun seit Stunden an WM_NCHITTEST und WM_NCLBUTTONDOWN rum, aber da bewegt sich trotzdem nyscht 😡

    Der Code von WM_NCHITTEST sieht bisher so aus:

    UINT OnNCHITTest ( HWND hwnd, int x, int y ) 
    { 
         UINT uHitTest;
    
         uHitTest = FORWARD_WM_NCHITTEST ( hwnd, x, y, DefWindowProc );
    
         if ( uHitTest == HTCLIENT )
              return ( HTCAPTION );
    
         return ( uHitTest );
    }
    

    bzw. WM_NCLBUTTONDOWN:

    void OnNCLButtonDown ( HWND hwnd, BOOL fDoubleClick, int x, int y, UINT uHitTest )
    {
         if ( fDoubleClick )
              return;
    
         switch ( uHitTest ) {
         default:
    
              FORWARD_WM_NCLBUTTONDOWN ( hwnd, fDoubleClick, x, y, uHitTest, DefWindowProc );
              return;
         }
    }
    

    Was musz da noch rein, damits funktioniert? Komisch ist, wenn ich einen Break-Point bei WM_NCLBUTTONDOWN setze, da kommt anscheinend auch nix an ...

    Danke schon mal ...



  • Hat sich erledigt ... 🙂



  • Wie denn? Man ist neugierig... 😉



  • Ist mit drei Zeilen erledigt:

    case WM_LBUTTONDOWN:
    
         SendMessage ( hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0 );
    
         return ( 0 );
    

    Neugier befriedigt 😉



  • Jau! 💡 👍 Danke.


Anmelden zum Antworten