PopupMenu-Cursor
-
Hallo,
ich benutze in meinem Fenster verschiedene Cursor, je nach eingeschaltetem Werkzeug. Ein Klick mit dem linken Mausbutton öffnet ein PopupMenu:m_menuRightButton.TrackPopupMenu( TPM_LEFTALIGN, point.x, point.y,this);Leider entspricht der Cursor auf dem PopupMenu-Fenster meinem eingestellten Cursor der Fensterklasse, was nicht gerade schön ist. Wie kann ich dem Popup-Fenster sagen, das es den normalen Pfeil-Cursor verwendet.
Gruss,
MiP
-
Dein WM_SETCURSOR Handler ist falsch.
Lies mal die Doku zu WM_SETCURSOR:
http://msdn2.microsoft.com/en-us/library/ms648382.aspxThe high-order word of lParam is zero when the window enters menu mode.
-
Ja, hat geholfen, danke.
Setze jetzt meine speziellen Cursor nur dann, wenn sich der Cursor im Client-Bereich befindet. Damit haben jetzt auch die Scrollbars wieder den Pfeil-Cursor, ebenso das PopupMenu. Worauf man so achten muss!BOOL M2dView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { BOOL b = CWnd::OnSetCursor(pWnd, nHitTest, message); if (nHitTest==HTCLIENT) ::SetCursor(m_hCursor); return b; }MiP