В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
Положение курсора всегда дается в экранных координатах и не подвержено воздействию режима отображения окна, которое содержит курсор.
Вызывающий процесс должен иметь доступ WINSTA _ READATTRIBUTES к оконной станции ( window station ). Разъяснение термина window station смотрите в описании функции CreateWindowStation .
См. также
ClipCursor, POINT, SetCursor, SetCursorPos, ShowCursor .
LoadCursor
Функция LoadCursor загружает указанный ресурс курсора из исполняемого (. EXE ) файла, связанного с экземпляром приложения.
HCURSOR LoadCursor (
HINSTANCE hInstance , // дескриптор экземпляра приложения
LPCTSTR lpCursorName // строка с именем курсора или
// идентификатор ресурса
);
Параметры
hInstance - идентифицирует экземпляр модуля, чей исполняемый файл содержит курсор.
lpCursorName - указывает на завершающуюся нулем строку, которая сдержит имя ресурса загружаемого курсора. В качестве альтернативы, значение этого параметра может содержать идентификатор ресурса в младшем слове и нуль в старшем. Используйте макрос MAKEINTRESOURCE для создания данного значения.
Для использования предопределенных курсоров Windows установите значение параметра hInstance в NULL, а значение параметра lpCursorName в одно из следующих значений:
Значение |
Описание |
IDC_ARROW |
Обычный курсор-стрелка. |
IDC_IBEAM |
Курсор в виде буквы " I ". |
IDC_WAIT |
Курсор "большие песочные часы". |
IDC_CROSS |
Курсор-перекрестие. |
IDC_UPARROW |
Курсор "стрелка вверх". |
IDC_SIZE |
Только Windows NT : четырехконечная стрелка |
IDC _ ICON |
Только Windows NT : пустая иконка. |
IDC_SIZENWSE |
Курсор изменения размера. Ориентирован с северо-запада на юго-восток. |
IDC_SIZENESW |
Курсор изменения размера. Ориентирован с северо-востока на юго-запад. |
IDC_SIZEWE |
Горизонтальный курсор изменения размера. |
IDC_SIZENS |
Вертикальный курсор изменения размера. |
IDC_SIZEALL |
Курсор изменения всех размеров. То же, что и IDC _ SIZE. |
IDC _ NO |
Перечеркнутый наискосок круг. |
IDC _ APPSTARTING |
Курсор "маленькие песочные часы со стрелкой". |
В случае успеха возвращается дескриптор загруженного курсора.
В случае неудачи возвращается NULL . Для дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
LoadCursor загружает ресурс курсора только в том случае, если он еще не загружен. В противном случае функция извлекает дескриптор существующего ресурса. Функция возвращает действительный дескриптор курсора, только если значение параметра lpCursorName указывает на ресурс курсора. Если оно указывает на любой другой тип ресурса, отличный от курсора (например, на иконку), возвращается не NULL, хотя возвращаемое значение и не будет действительным дескриптором курсора.
LoadCursor просматривает ресурс на предмет курсора, наиболее подходящего для текущего устройства изображения. Ресурс курсора может быть цветным или монохромным битовым образом.
См. также
LoadImage, MAKEINTRESOURCE, SetCursor, SetCursorPos, ShowCursor .
LoadCursorFromFile
Функция LoadCursorFromFile создает курсор, основанный на данных, содержащихся в файле. Файл задается его именем или идентификатором системного курсора. Функция возвращает дескриптор созданного курсора. Файлы, содержащие данные, могут быть либо файлами курсоров (. CUR ), либо файлами анимированных курсоров (. ANI ).
HCURSOR LoadCursorFromFile (
LPCTSTR lpFileName // указатель на имя файла с курсором или
// идентификатор системного курсора
);
Параметры
lpFileName - указывает на источник файловых данных, используемых для создания курсора. Файлы, должны быть либо файлами курсоров (. CUR ), либо файлами анимированных курсоров (. ANI ).
Если старшее слово lpFileName не равно нулю, то значение lpFileName указывает на строку с полным именем файла, содержащего данные для курсора.
Если старшее слово lpFileName равно нулю, нижнее слово представляет собой идентификатор системного курсора. Затем функция просматривает секцию [ Cursors ] в файле WIN . INI на предмет файла, связанного с именем указанного системного курсора. Ниже приводится список имен системных курсоров и идентификаторов:
Имена системных курсоров |
Идентификаторы системных курсоров |
"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 |
Например, если в WIN . INI содержится следующее:
[Cursors]
Arrow = "arrow.ani"
то вызов LoadCursorFromFile (( LPWSTR ) OCR _ NORMAL ) заставит функцию LoadCursorFromFile получить данные из файла ARROW . ANI . Если WIN . INI не содержит строки для указанного системного курсора, вызов функции завершится неудачей и функция вернет NULL .
Возвращаемые значения
В случае успеха возвращается дескриптор нового курсора.