Ich setze einen benutzerdefinierten Cursor in meiner App aus einer Symboldatei, aber der Klickpunkt liegt an den falschen Koordinaten. Ich setze den Cursor mit
SetClassLongPtr(hwnd, GCL_HCURSOR, reinterpret_cast<LONG_PTR>cursor)
wobei Cursor das Ergebnis von ist;
LoadImage(
NULL,
"some_path/cursor.ico",
IMAGE_ICON, //also tried IMAGE_CURSOR
0, //width. 0 uses the width of the file provided
0, //height. 0 uses the height of the file provided
LR_LOADFROMFILE
);
Der Cursor wird zwar geladen, aber die Klicks kommen aus der linken unteren Ecke des Cursorbildes und nicht von links oben.
En wikipedia-Artikel über .ico-Dateien sagt, dass die Hotspots nur in .cur-Dateien angegeben werden, nicht in .ico-Dateien.
Edit: Frage präzisiert
ref: Bild laden() y SetClassLongPtr() auf msdn.