Функция 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

См. также раздел

CreateIcon

CreateIconIndirect

DestroyCursor

GetSystemMetrics

SetCursor

Курсоры