The LoadCursorFromFile function creates a cursor based on data contained in a file. The file is specified by its name or by a system cursor identifier. The function returns a handle to the newly created cursor. Files containing cursor data may be in either cursor (.CUR) or animated cursor (.ANI) format.
HCURSOR LoadCursorFromFile (
LPCTSTR lpFileName |
// pointer to name of cursor file, or system cursor identifier |
); |
If the high-order word of lpszFileName is nonzero, it is a pointer to a string that is a fully qualified name of a file containing cursor data.
If the high-order word of lpszFileName is zero, the low-order word is a system cursor identifier. The function then searches the [Cursors] entry in the WIN.INI file for the file associated with the name of that system cursor. Here is a list of system cursor names and identifiers:
System Cursor Names |
System Cursor Identifiers |
“Arrow” |
OCR_NORMAL |
“IBeam” |
OCR_IBEAM |
“Wait” |
OCR_WAIT |
“Crosshair” |
OCR_CROSS |
“UpArrow” |
OCR_UP |
“Size” |
OCR_SIZE |
“Icon” |
OCR_ICON |
“SizeNWSE” |
OCR_SIZENWSE |
“SizeNESW” |
OCR_SIZENESW |
“SizeWE” |
OCR_SIZEWE |
“SizeNS” |
OCR_SIZENS |
“SizeAll” |
OCR_SIZEALL |
“No” |
OCR_NO |
“AppStarting” |
OCR_APPSTARTING |
For example, if the WIN.INI file contains the following :
[Cursors] Arrow = "arrow.ani"
Then the call
LoadCursorFromFile((LPWSTR)OCR_NORMAL)
causes the LoadCursorFromFile function to obtain cursor data from the file ARROW.ANI. If the WIN.INI file doesn’t contain an entry for the specified system cursor, the function fails and returns NULL.
If the function is successful, the return value is a handle to the new cursor.
If the function fails, the return value is NULL. To get extended error information, call GetLastError. GetLastError may return the following value:
Value |
Meaning |
ERROR_FILE_NOT_FOUND |
The specified file could not be found. |
LoadCursor, SetCursor, SetSystemCursor
See: