Выбрать главу

int nHeight // высота каретки

);

Параметры

hWnd - идентифицирует окно, владеющее кареткой.

hBitmap - идентифицирует битовый образ, который определяет вид каретки. Если значение этого параметра равно NULL, каретка представляет собой сплошной прямоугольник. Если значение этого параметра равно ( HBITMAP ) 1, каретка представляет собой серый прямоугольник. Если значение этого параметра является дескриптором битового образа, то каретка представляет собой указанный битовый образ. Дескриптор битового образа должен быть создан функциями CreateBitmap, CreateDIBitmap или LoadBitmap .

Если значение hBitmap является дескриптором битового образа, CreateCaret игнорирует значения параметров nWidth и nHeight ; битовый образ задает свои собственные ширину и высоту.

nWidth - определяет ширину каретки в логических единицах. Если значение этого параметра равно нулю, ширина устанавливается в определяемую системой ширину рамки окна. Если значение hBitmap является дескриптором битового образа, CreateCaret игнорирует значение параметра nWidth .

nHeight - определяет высоту каретки в логических единицах. Если значение этого параметра равно нулю, высота устанавливается в определяемую системой высоту рамки окна. Если значение hBitmap является дескриптором битового образа, CreateCaret игнорирует значение параметра nHeight .

Возвращаемые значения

В случае успеха возвращается ненулевое значение.

В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .

Комментарии

Значения параметров nWidth and nHeight определяют ширину и высоту каретки в логических единицах. Точные ширина и высота в пикселях зависят от режима отображения окна.

CreateCaret автоматически разрушает предыдущий вид каретки, если таковая есть, независимо от окна-владельца.

Пока приложение не вызовет функцию ShowCaret , каретка является скрытой.

Каретка является разделяемым ресурсом: в системе присутствует только одна каретка. Окно должно отображать каретку, только если оно активно или имеет фокус ввода с клавиатуры. Окно должно разрушить каретку перед тем, как оно потеряет фокус ввода с клавиатуры или станет неактивным.

Вы можете получить системные ширину и высоту окна, используя функцию GetSystemMetrics со значениями параметров SM _ CXBORDER и SM _ CYBORDER . Использование ширины или высоты рамки окна гарантирует, что каретка будет видна на экране с высоким разрешением.

См. также

CreateBitmap, CreateDIBitmap, DestroyCaret, GetSystemMetrics, HideCaret, LoadBitmap, ShowCaret .

DestroyCaret

Функция DestroyCaret разрушает текущую каретку, освобождает каретку от окна и удаляет изображение каретки с экрана.

Если каретка основана на растровом изображении, DestroyCaret не освобождает это изображение.

BOOL DestroyCaret ( VOID )

Параметры

Функция не имеет параметров.

Возвращаемые значения

В случае успеха возвращается ненулевое значение.

В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .

Комментарии

DestroyCaret разрушает каретку только в том случае, ели окно в текущей задаче владеет ею. Если кареткой владеет окно, которое не принадлежит текущей задаче, DestroyCaret не выполняет никаких действий и возвращает FALSE.

Каретка является разделяемым ресурсом: в системе присутствует только одна каретка. Окно должно отображать каретку, только если оно активно или имеет фокус ввода с клавиатуры. Окно должно разрушить каретку перед тем, как оно потеряет фокус ввода с клавиатуры или станет неактивным.

См. также

CreateCaret, HideCaret, ShowCaret .

GetCaretBlinkTime

Функция GetCaretBlinkTime возвращает время мерцания каретки (время, требуемое для инвертирования пикселей каретки) в миллисекундах. Пользователь может установить это значение, используя Панель Управления.

UINT GetCaretBlinkTime ( VOID )

Параметры

Функция не имеет параметров.

Возвращаемые значения

В случае успеха возвращается время мерцания каретки в миллисекундах.

В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .

См. также

SetCaretBlinkTime .

GetCaretPos

Функция GetCaretPos копирует позицию каретки, в клиентских координатах, в указанную структуру типа POINT .

BOOL GetCaretPos (

LPPOINT lpPoint // адрес структуры, получающей координаты

);

Параметры

lpPoint - указывает на структуру типа POINT , которая получает клиентские координаты каретки.

Возвращаемые значения

В случае успеха возвращается ненулевое значение.

В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .

Комментарии

Позиция каретки всегда указывается в клиентских координатах окна, содержащего каретку.

См. также

SetCaretPos, POINT .

HideCaret

Функция HideCaret убирает каретку с экрана. Сокрытие каретки не разрушает ее текущей формы и не изменяет точки вставки.

BOOL HideCaret (

HWND hWnd // дескриптор окна с кареткой

);

Параметры

hWnd - идентифицирует окно, владеющее кареткой. Если значение этого параметра равно NULL, HideCaret ищет текущую задачу для окна, владеющего кареткой.

Возвращаемые значения

В случае успеха функция возвращает ненулевое значение. В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .

Комментарии

HideCaret прячет каретку только в том случае, если указанное окно ею владеет. Если указанное окно не владеет кареткой, то HideCaret не выполняет никаких действий и возвращает FALSE.

Сокрытие каретки кумулятивно. Если ваше приложение вызывает HideCaret пять раз, то оно также должно пять раз вызвать ShowCaret для появления каретки.