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 函数创建。
如果 hBitmap 是位图句柄, CreateCaret 将忽略 nWidth 和 nHeight 参数;位图定义其自己的宽度和高度。
[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 () |
另请参阅
概念性
其他资源
引用
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈