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上的 高 DPI 桌面应用程序开发。

有关 pvANDPlanepvXORPlane 参数的详细信息,请参阅 CreateBitmap 函数的 lpBits 参数的说明。

CreateCursor 将以下事实表应用于 AND 和 XOR 位掩码:

AND 位掩码 XOR 位掩码 显示
0 0
0 1
1 0 屏幕
1 1 反向屏幕

在关闭之前,应用程序必须调用 DestroyCursor 函数来释放与游标关联的任何系统资源。

DPI 虚拟化

此 API 不参与 DPI 虚拟化。 返回的输出以物理坐标为单位,不受调用线程的 DPI 影响。 请注意,创建的游标仍可以缩放,以匹配它绘制到的任何给定窗口的 DPI。

例子

有关示例,请参阅 创建游标

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 winuser.h (包括 Windows.h)
User32.lib
DLL User32.dll

另请参阅

CreateIcon

CreateIconIndirect

DestroyCursor

GetSystemMetrics

SetCursor

游标