Каретка является разделяемым ресурсом: в системе присутствует только одна каретка. Окно должно отображать каретку, только если оно активно или имеет фокус ввода с клавиатуры. Окно должно разрушить каретку перед тем, как оно потеряет фокус ввода с клавиатуры или станет неактивным.
См. также
CreateCaret, HideCaret, ShowCaret .
Функция GetCaretBlinkTime возвращает время мерцания каретки (время, требуемое для инвертирования пикселей каретки) в миллисекундах. Пользователь может установить это значение, используя Панель Управления.
UINT GetCaretBlinkTime ( VOID )
Параметры
Функция не имеет параметров.
Возвращаемые значения
В случае успеха возвращается время мерцания каретки в миллисекундах.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
См. также
SetCaretBlinkTime .
Функция GetCaretPos копирует позицию каретки, в клиентских координатах, в указанную структуру типа POINT .
BOOL GetCaretPos (
LPPOINT lpPoint // адрес структуры, получающей координаты
);
Параметры
lpPoint - указывает на структуру типа POINT , которая получает клиентские координаты каретки.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
Позиция каретки всегда указывается в клиентских координатах окна, содержащего каретку.
См. также
SetCaretPos, POINT .
Функция HideCaret убирает каретку с экрана. Сокрытие каретки не разрушает ее текущей формы и не изменяет точки вставки.
BOOL HideCaret (
HWND hWnd // дескриптор окна с кареткой
);
Параметры
hWnd - идентифицирует окно, владеющее кареткой. Если значение этого параметра равно NULL, HideCaret ищет текущую задачу для окна, владеющего кареткой.
Возвращаемые значения
В случае успеха функция возвращает ненулевое значение. В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
HideCaret прячет каретку только в том случае, если указанное окно ею владеет. Если указанное окно не владеет кареткой, то HideCaret не выполняет никаких действий и возвращает FALSE.
Сокрытие каретки кумулятивно. Если ваше приложение вызывает HideCaret пять раз, то оно также должно пять раз вызвать ShowCaret для появления каретки.
См . также
CreateCaret, DestroyCaret, GetCaretPos, SetCaretPos, ShowCaret .
Функция SetCaretBlinkTime устанавливает время мерцания каретки в указанное число миллисекунд.
BOOL SetCaretBlinkTime (
UINT uMSeconds // время мерцания каретки, в миллисекундах
);
Параметры
uMSeconds - определяет новое время мерцания, в миллисекундах.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
Пользователь может установить время мерцания через Панель Управления. Приложения должны "уважать" настройки, сделанные пользователем. Функция SetCaretBlinkTime должна использоваться приложением только в том случае, если приложение позволяет пользователю установить время мерцания каретки, наподобие Панели Управления.
Если вы изменили время мерцания, то запущенные позже приложения будут использовать новое значение, даже если вы восстанавливаете предыдущее значение времени мерцания при потере фокуса ввода, или когда ваше приложение становится неактивным. Это происходит из-за многопоточной среды, где деактивация вашего приложения не синхронизируется с активацией другого. Это позволяет системе активировать другое приложение, даже если текущее приложение зависло.
См. также
GetCaretBlinkTime .
Функция SetCaretPos перемещает каретку в заданную позицию. Если окно, которое владеет кареткой, было создано со стилем класса CS _ OWNDC, то указанные координаты зависят от режима отображения контекста устройства, связанного с окном.
BOOL SetCaretPos (
int X , // горизонтальная позиция