createCursor 函数 (winuser.h)
创建具有指定大小、位模式和热点的单色游标。
若要在运行时创建彩色游标,可以使用 CreateIconIndirect 函数,该函数基于 ICONINFO 结构的内容创建游标。
语法
HCURSOR CreateCursor(
[in, optional] HINSTANCE hInst,
[in] int xHotSpot,
[in] int yHotSpot,
[in] int nWidth,
[in] int nHeight,
[in] const VOID *pvANDPlane,
[in] const VOID *pvXORPlane
);
参数
[in, optional] hInst
类型: HINSTANCE
创建游标的应用程序的当前实例的句柄。
[in] xHotSpot
类型: int
光标热点的水平位置。
[in] yHotSpot
类型: int
光标热点的垂直位置。
[in] nWidth
类型: int
光标的宽度(以像素为单位)。
[in] nHeight
类型: int
光标的高度(以像素为单位)。
[in] pvANDPlane
类型: const VOID*
一个字节数组,其中包含游标的 AND 掩码的位值,如在单色位图中所示。 请参阅备注。
[in] pvXORPlane
类型: const VOID*
一个字节数组,其中包含游标的 XOR 掩码的位值,如在单色位图中所示。 请参阅备注。
返回值
类型: HCURSOR
如果函数成功,则返回值是游标的句柄。
如果函数失败,则返回值为 NULL。 要获得更多的错误信息,请调用 GetLastError。
注解
若要确定游标的标称大小,请使用 GetSystemMetrics 函数,指定 SM_CXCURSOR 或 SM_CYCURSOR 值。 此外,还可以使用此 API 的 DPI 感知版本,请参阅 (GetSystemMetricsForDpi) (/windows/win32/api/winuser/nf-winuser-getsystemmetricsfordpi) 。 有关详细信息,请参阅 Windows 上的高 DPI 桌面应用程序开发。
有关 pvANDPlane 和 pvXORPlane 参数的详细信息,请参阅 CreateBitmap 函数的 lpBits 参数说明。
CreateCursor 将以下真实表应用于 AND 和 XOR 位掩码:
AND 位掩码 | XOR 位掩码 | 显示 |
---|---|---|
0 | 0 | 黑色 |
0 | 1 | White |
1 | 0 | 屏幕 |
1 | 1 | 反向屏幕 |
在关闭之前,应用程序必须调用 DestroyCursor 函数来释放与游标关联的任何系统资源。
DPI 虚拟化
此 API 不参与 DPI 虚拟化。 返回的输出是物理坐标,不受调用线程的 DPI 的影响。 请注意,创建的光标仍可缩放,使其与绘制到的任何给定窗口的 DPI 相匹配。示例
有关示例,请参阅 创建游标。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |