Функция CreateCursor (winuser.h)
Создает монохромный курсор с заданным размером, узорами битов и горячей точкой.
Для создания цветного курсора во время выполнения можно использовать функцию CreateIconIndirect , которая создает курсор на основе содержимого структуры ICONINFO .
Синтаксис
HCURSOR CreateCursor(
[in, optional] HINSTANCE hInst,
[in] int xHotSpot,
[in] int yHotSpot,
[in] int nWidth,
[in] int nHeight,
[in] const VOID *pvANDPlane,
[in] const VOID *pvXORPlane
);
Параметры
[in, optional] hInst
Тип: HINSTANCE
Дескриптор для текущего экземпляра приложения, создающего курсор.
[in] xHotSpot
Тип: int
Горизонтальное положение горячей точки курсора.
[in] yHotSpot
Тип: int
Вертикальное положение горячей точки курсора.
[in] nWidth
Тип: int
Ширина курсора в пикселях.
[in] nHeight
Тип: int
Высота курсора в пикселях.
[in] pvANDPlane
Тип: const VOID*
Массив байтов, содержащий битовые значения для маски AND курсора, как в монохромном растровом рисунке. См. примечания.
[in] pvXORPlane
Тип: const VOID*
Массив байтов, содержащий битовые значения для маски XOR курсора, как в монохромном растровом рисунке. См. примечания.
Возвращаемое значение
Тип: HCURSOR
Если функция выполняется успешно, возвращаемое значение является дескриптором курсора.
Если функция завершается сбоем, возвращается значение NULL. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Чтобы определить номинальный размер курсора, используйте функцию GetSystemMetrics , указав значение SM_CXCURSOR или SM_CYCURSOR . Кроме того, вы можете использовать версию этого API с поддержкой DPI, см. раздел (GetSystemMetricsForDpi)(/windows/win32/api/winuser/nf-winuser-getsystemmetricsfordpi). Дополнительные сведения см. в статье Разработка классических приложений с высоким разрешением в Windows.
Дополнительные сведения о параметрах pvANDPlane и pvXORPlane см. в описании параметра lpBits функции CreateBitmap .
CreateCursor применяет следующую таблицу истинности к битовой маске AND и XOR:
Битовая маска AND | Битовая маска XOR | Отображение |
---|---|---|
0 | 0 | Черный |
0 | 1 | White |
1 | 0 | Screen |
1 | 1 | Экран "Обратный" |
Перед закрытием приложение должно вызвать функцию DestroyCursor , чтобы освободить все системные ресурсы, связанные с курсором.
Виртуализация DPI
Этот API не участвует в виртуализации DPI. Выходные данные возвращаются с точки зрения физических координат и не зависят от DPI вызывающего потока. Обратите внимание, что созданный курсор по-прежнему можно масштабировать в соответствии с разрешением любого окна, в котором он рисуется.Примеры
Пример см. в разделе Создание курсора.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |