Функция CreateCaret создает новую форму для системной каретки и назначает монопольное использование каретки заданным окном. Формой каретки может быть линия, блок или точечный рисунок.
Синтаксис
BOOL CreateCaret( HWND hWnd, HBITMAP hBitmap, int nWidth, int nHeight ); |
Параметры
hWnd
[in] Дескриптор окна, которое владеет кареткой.hBitmap
[in] Дескриптор точечного рисунка, который определяет форму каретки. Если этот параметр - ПУСТО (NULL), каретка является сплошной. Если этот параметр равен (HBITMAP) 1, каретка является серой. Если этот параметр - дескриптор точечного рисунка, каретка - заданный точечный рисунок. Дескриптор точечного рисунка должен быть создан функцией CreateBitmap, CreateDIBitmap или LoadBitmap.Если hBitmap - дескриптор точечного рисунка, функция CreateCaret игнорирует параметры nWidth и nHeight ; точечный рисунок определяет свою собственную ширину и высоту.
nWidth
[in] Устанавливает ширину каретки в логических единицах измерения. Если этот параметр равняется нулю, ширина устанавливается определяемой системой шириной границ окна. Если hBitmap - дескриптор точечного рисунка, CreateCaret игнорирует этот параметр.nHeight
[in] Устанавливает высоту каретки в логических единицах измерения. Если этот параметр равняется нулю, высота устанавливается определяемой системой высотой границ окна. Если hBitmap - дескриптор точечного рисунка, CreateCaret игнорирует этот параметр.Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - не нуль.
Если функция завершается ошибкой, величина возвращаемого значения - нуль. Чтобы получить дополнительные сведения об ошибке, вызовите GetLastError.
Замечания
Параметры nWidth и nHeight устанавливают ширину и высоту каретки, в логических единицах измерения; точная ширина и высота, в пикселях, зависят от режим отображения окна.
Функция CreateCaret автоматически уничтожает предыдущую форму каретки, если она есть, независимо от окна, которое владеет кареткой. Каретка скрывается до тех пор, пока приложение не вызовет функцию ShowCaret, чтобы сделать каретку видимой.
Система предусматривает одну каретку на очередь. Окно должно создавать каретку, только тогда, когда оно имеет фокус клавиатуры или активно. Окно должно уничтожить каретку перед потерей фокуса клавиатуры или перехода в не активный режим.
Вы можете извлечь ширину или высоту границы окна системы при помощи использования функция GetSystemMetrics, устанавливая значения SM_CXBORDER и SM_CYBORDER. Использование ширины или высоты границы окна гарантирует то, что каретка будет видна на экране с высокой разрешающей способностью.
Смотри также
Обзор Каретки, CreateBitmap, CreateDIBitmap, DestroyCaret, GetSystemMetrics, HideCaret, LoadBitmap, ShowCaret
Размещение и совместимость CreateCaret |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |