CreateCaret 函数 (winuser.h)
为系统插入点创建一个新形状,并将插入点的所有权分配给指定窗口。 插入符号形状可以是线条、块或位图。
语法
BOOL CreateCaret(
[in] HWND hWnd,
[in, optional] HBITMAP hBitmap,
[in] int nWidth,
[in] int nHeight
);
参数
[in] hWnd
类型:HWND
拥有插入符号的窗口的句柄。
[in, optional] hBitmap
类型: HBITMAP
用于定义插入点形状的位图的句柄。 如果此参数为 NULL,则插入符号为实心。 如果此参数为 (HBITMAP) 1
,则插入符号为灰色。 如果此参数是位图句柄,则插入符号是指定的位图。 位图句柄必须由 CreateBitmap、 CreateDIBitmap 或 LoadBitmap 函数创建。
插入点通过 XOR 操作绘制到屏幕。
如果 hBitmap 是位图句柄, CreateCaret 将忽略 nWidth 和 nHeight 参数;位图定义其自己的宽度和高度。 在插入符号被销毁或替换为另一个插入点之前,应用程序不应删除 hBitmap 。
[in] nWidth
类型: int
插入点的宽度,以逻辑单元为单位。 如果此参数为零,则宽度设置为系统定义的窗口边框宽度。 如果 hBitmap 是位图句柄, CreateCaret 将忽略此参数。
[in] nHeight
类型: int
插入符号的高度(以逻辑单元为单位)。 如果此参数为零,则高度设置为系统定义的窗口边框高度。 如果 hBitmap 是位图句柄, CreateCaret 将忽略此参数。
返回值
类型: BOOL
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
nWidth 和 nHeight 参数以逻辑单位指定插入点的宽度和高度;确切的宽度和高度(以像素为单位)取决于窗口的映射模式。
CreateCaret 会自动销毁上一个插入点形状(如果有),而不考虑拥有插入点的窗口。 在应用程序调用 ShowCaret 函数以使插入符号可见之前,插入符号将隐藏。
系统为每个队列提供一个插入点。 仅当窗口具有键盘焦点或处于活动状态时,才应创建插入点。 窗口应在失去键盘焦点或变为非活动状态之前销毁插入符号。
DPI 虚拟化
此 API 不参与 DPI 虚拟化。 宽度和高度参数将解释为有关窗口的逻辑大小。 不考虑调用线程。要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | 在 Windows 8) 中引入的 ext-ms-win-ntuser-caret-l1-1-0 ( |
另请参阅
概念性
其他资源
引用