Функция 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. Дополнительные сведения см. в статье Разработка классических приложений высокого уровня DPI в Windows.
Дополнительные сведения о параметрах pvANDPlane и pvXORPlane см. в описании параметра lpBits функции CreateBitmap.
CreateCursor применяет следующую таблицу истины к bitmasks AND и XOR:
Битовая маска И | Битовая маска XOR | Дисплей |
---|---|---|
0 | 0 | Чёрный |
0 | 1 | Белый |
1 | 0 | Экран |
1 | 1 | Обратный экран |
Перед закрытием приложение должно вызвать функцию DestroyCursor, чтобы освободить все системные ресурсы, связанные с курсором.
виртуализация DPI
Этот API не участвует в виртуализации DPI. Возвращаемый результат имеет физические координаты и не влияет на DPI вызывающего потока. Обратите внимание, что созданный курсор по-прежнему может быть масштабирован для сопоставления DPI любого заданного окна, в котором он нарисован.Примеры
Пример см. в статье Созданиекурсора.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winuser.h (включая Windows.h) |
библиотеки |
User32.lib |
DLL | User32.dll |