Fenster verschieben
-
Hallo allerseits,
normalerweise verschiebt der User ein Fenster mit gedrückter linker Maustaste in der Titelleiste. Dieses Verhalten möchte ich auf das gesammte Fenster ausdehnen (ausgenommen darauf befindlichen Controls).Habe bisher folgendes:void CMovingWinDlg::OnLButtonDown( UINT nFlags, CPoint point ){ m_bLButtonDown = true; m_cpKlick = point; } void CMovingWinDlg::OnLButtonUp(UINT nFlags, CPoint point){ m_bLButtonDown = false; } void CMovingWinDlg::OnMouseMove(UINT nFlags, CPoint point){ if (m_bLButtonDown){ CRect r; GetWindowRect(r); CPoint diff = point-m_cpKlick; MoveWindow(r.left+diff.x,r.top+diff.y,r.Width(),r.Height()); m_cpKlick = point; } }
Problem ist hierbei: Es ruckelt und hakt und hat irgendwie überhaupt keine Ähnlichkeit mit der Standard-Methode. Was kann ich tun, damit das Ganze fliessender und ruckelfrei funktioniert ?
-
Es geht viel einfacher.
Baue einen WM_NCHITTEST Handler ein und returniere an der entsprechenden Cursorposition HTCAPTION!
-
Super, funktioniert, vielen Dank!!!!