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_CXCURSORSM_CYCURSOR 值。 此外,还可以使用此 API 的 DPI 感知版本,请参阅 (GetSystemMetricsForDpi) (/windows/win32/api/winuser/nf-winuser-getsystemmetricsfordpi) 。 有关详细信息,请参阅 Windows 上的高 DPI 桌面应用程序开发

有关 pvANDPlanepvXORPlane 参数的详细信息,请参阅 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

另请参阅

CreateIcon

CreateIconIndirect

DestroyCursor

GetSystemMetrics

SetCursor

光标