CreateCaret

Функция 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 .

Hosted by uCoz