См . также
GetWindowText, WM_SETTEXT.
Функция CreateCaretсоздает новый внешний вид для системной каретки и присваивает владение кареткой указанному окну. Каретка может быть прямоугольником, линией или битовым образом.
BOOL CreateCaret(
HWND hWnd , // дескриптор окна-владельца
HBITMAP hBitmap , // дескриптор битового образа для каретки
int nWidth , // ширина каретки
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не освобождает это изображение.
BOOL DestroyCaret( VOID)
Параметры
Функция не имеет параметров.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError.
Комментарии
DestroyCaretразрушает каретку только в том случае, ели окно в текущей задаче владеет ею. Если кареткой владеет окно, которое не принадлежит текущей задаче, DestroyCaretне выполняет никаких действий и возвращает FALSE.
Каретка является разделяемым ресурсом: в системе присутствует только одна каретка. Окно должно отображать каретку, только если оно активно или имеет фокус ввода с клавиатуры. Окно должно разрушить каретку перед тем, как оно потеряет фокус ввода с клавиатуры или станет неактивным.
См. также
CreateCaret, HideCaret, ShowCaret.
Функция GetCaretBlinkTimeвозвращает время мерцания каретки (время, требуемое для инвертирования пикселей каретки) в миллисекундах. Пользователь может установить это значение, используя Панель Управления.
Читать дальше