CreateCaret
The CreateCaret
function creates a new shape for the system caret and assigns ownership of the
caret to the specified window. The caret shape can be a line, a block, or a
bitmap.
BOOL CreateCaret(
HWND hWnd, |
// handle to owner
window |
HBITMAP hBitmap, |
// handle to bitmap
for caret shape |
int nWidth, |
// caret width |
int nHeight |
// caret height |
); |
|
Parameters
hWnd
Identifies
the window that owns the caret.
hBitmap
Identifies
the bitmap that defines the caret shape. If this parameter is NULL, the caret
is solid. If this parameter is (HBITMAP) 1, the caret is gray. If this
parameter is a bitmap handle, the caret is the specified bitmap. The bitmap
handle must have been created by the CreateBitmap
If hBitmap is a bitmap handle, CreateCaret ignores the nWidth
and nHeight parameters; the bitmap defines its own width and height.
nWidth
Specifies the
width of the caret in logical units. If this parameter is zero, the width is
set to the system-defined window border width. If hBitmap is a bitmap
handle, CreateCaret ignores this parameter.
nHeight
Specifies the
height, in logical units, of the caret. If this parameter is zero, the height
is set to the system-defined window border height. If hBitmap is a
bitmap handle, CreateCaret ignores this parameter.
Return Values
If the
function succeeds, the return value is nonzero.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError
Remarks
The nWidth
and nHeight parameters specify the caret s width and height, in logical
units; the exact width and height, in pixels, depend on the window s mapping
mode.
CreateCaret automatically destroys the previous caret shape, if
any, regardless of the window that owns the caret. The caret is hidden until
the application calls the ShowCaret function to make the caret visible.
The caret is
a shared resource; there is only one caret in the system. A window should
create a caret only when it has the keyboard focus or is active. The window
should destroy the caret before losing the keyboard focus or becoming inactive.
You can
retrieve the width or height of the system s window border by using the GetSystemMetrics
function, specifying the SM_CXBORDER and SM_CYBORDER values. Using the window
border width or height guarantees that the caret will be visible on a
high-resolution screen.
See Also