Функция CreateCaret (winuser.h)
Создает новую фигуру для системного курсора и назначает владение курсором заданному окну. Фигура курсора может быть линией, блоком или растровым изображением.
Синтаксис
BOOL CreateCaret(
[in] HWND hWnd,
[in, optional] HBITMAP hBitmap,
[in] int nWidth,
[in] int nHeight
);
Параметры
[in] hWnd
Тип: HWND
Дескриптор окна, которому принадлежит курсор.
[in, optional] hBitmap
Тип: HBITMAP
Дескриптор растрового изображения, определяющего фигуру курсора. Если этот параметр имеет значение NULL, курсор будет сплошным. Если этот параметр имеет значение (HBITMAP) 1
, курсор будет серым. Если этот параметр является дескриптором растрового рисунка, курсор является указанным растровым рисунком. Дескриптор точечных рисунков должен быть создан функцией CreateBitmap, CreateDIBitmap или LoadBitmap .
Курсор отображается на экране с помощью операции XOR.
Если hBitmap является дескриптором растрового изображения, CreateCaret игнорирует параметры nWidth и nHeight ; растровое изображение определяет собственную ширину и высоту. Приложение не должно удалять hBitmap , пока курсор не будет уничтожен или заменен другим курсором.
[in] nWidth
Тип: int
Ширина курсора в логических единицах. Если этот параметр равен нулю, то для ширины устанавливается определенная системой ширина границы окна. Если hBitmap является дескриптором растрового изображения, CreateCaret игнорирует этот параметр.
[in] nHeight
Тип: int
Высота курсора в логических единицах. Если этот параметр равен нулю, для высоты устанавливается заданная системой высота границы окна. Если hBitmap является дескриптором растрового изображения, CreateCaret игнорирует этот параметр.
Возвращаемое значение
Тип: BOOL
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Параметры nWidth и nHeight указывают ширину и высоту курсора в логических единицах; точная ширина и высота в пикселях зависят от режима сопоставления окна.
CreateCaret автоматически уничтожает предыдущую фигуру курсора, если она имеется, независимо от того, какое окно принадлежит курсору. Курсор будет скрыт, пока приложение не вызовет функцию ShowCaret , чтобы сделать курсор видимым.
Система предоставляет по одному курсору для каждой очереди. Окно должно создавать курсор только в том случае, если оно имеет фокус клавиатуры или активно. Окно должно уничтожить курсор перед потерей фокуса клавиатуры или неактивным.
Виртуализация DPI
Этот API не участвует в виртуализации DPI. Параметры ширины и высоты интерпретируются как логические размеры с точки зрения рассматриваемого окна. Вызывающий поток не учитывается.Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
Набор API | ext-ms-win-ntuser-caret-l1-1-0 (появилось в Windows 8) |
См. также раздел
Основные понятия
Другие ресурсы
Справочные материалы