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将忽略此参数。
【nHeight参数】
指定插入符号的高度(以逻辑为单位)。如果此参数为零,则将高度设置为系统定义的窗口边框高度。如果【HBITMAP】是位图句柄,CreateCaret将忽略此参数。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
【nWidth】和【nHeight参数】参数以逻辑单位指定插入符的宽度和高度;精确的宽度和高度(以像素为单位)取决于窗口的映射模式。
CreateCaret自动破坏以前的插入符号形状(如果有的话),而不管拥有插入符号的窗口。插入符号被隐藏,直到应用程序调用{??989796083}函数来使插入符可见。
插入符号是共享资源;系统中只有一个插入符号。只有在具有键盘焦点或处于活动状态时,窗口才能创建插入符号。在丢失键盘焦点或变得不活动之前,窗口应该销毁插入符号。
您可以使用GetSystemMetrics函数检索系统窗口边框的宽度或高度,指定SM_CXBORDER和SM_CYBORDER值。使用窗口边框宽度或高度可以确保插入符在高分辨率屏幕上可见。
也可以看看
CreateBitmap, CreateDIBitmap, DestroyCaret, GetSystemMetrics, HideCaret, LoadBitmap, ShowCaret