Cursor dauerhaft laden
-
Wie kann ich einen selbstgezeichneten Mauscursor aus einer Ressource laden, so daß dieser während des gesamten Programms (aber nur innerhalb meines Fensters) bestehen bleibt und ich die Ladefunktion nicht bei jedem Mausereignis hinschreiben muß?
-
WM_SETCURSOR glaub ich.
-
Nein, wenn ich da (bzw. in OnSetCursor) was reinschreibe, passiert nichts.
Man müßte das doch irgendwie in OnInitDialog machen können. Dort steht bei mir im MomentHCURSOR cursor=AfxGetApp()->LoadCursor (IDC_ZIELCURSOR); SetCursor (cursor);
Doch das nützt nichts.
-
Tjo... das kann auch nicht gehen... ich bezweifel das das überhaupt geht... ein Button bsw. wird immer seinen eigenen Cursor benutzen(IDC_ARROW), da das bei der WNDCLASS angegeben ist... muss de halt WinAPI kennen...
-
O.k., vielen Dank für diesen hilfreichen Kommentar.
Ich habe die Lösung jetzt gefunden. Hinter den obigen Code muß nochSetClassLong (GetSafeHwnd (), GCL_HCURSOR, reinterpret_cast<LONG> (cursor));
-
Diesen Holzhammer kann ich nicht gutheißen. Eine fremde Fensterklasse zu manipulieren geht wohl etwas zu weit.
Wenn dies nur Deine Klasse betrifft OK. Ansonsten lies mal die TN001.
http://msdn2.microsoft.com/en-us/library/a77269ff.aspx