DrawStateA 函数 (winuser.h)

DrawState 函数显示图像并应用视觉效果来指示状态,例如禁用状态或默认状态。

语法

BOOL DrawStateA(
  [in] HDC           hdc,
  [in] HBRUSH        hbrFore,
  [in] DRAWSTATEPROC qfnCallBack,
  [in] LPARAM        lData,
  [in] WPARAM        wData,
  [in] int           x,
  [in] int           y,
  [in] int           cx,
  [in] int           cy,
  [in] UINT          uFlags
);

参数

[in] hdc

要在其中绘制的设备上下文的句柄。

[in] hbrFore

用于绘制图像的画笔句柄,如果 fuFlags 参数指定的状态DSS_MONO。 对于其他状态,此参数将被忽略。

[in] qfnCallBack

指向用于呈现图像的应用程序定义的回调函数的指针。 如果 fuFlags 中的图像类型DST_COMPLEX,则此参数是必需的。 这是可选的,如果图像类型DST_TEXT,则可以 NULL。 对于所有其他图像类型,将忽略此参数。 有关回调函数的详细信息,请参阅 DrawStateProc 函数。

[in] lData

有关图像的信息。 此参数的含义取决于图像类型。

[in] wData

有关图像的信息。 此参数的含义取决于图像类型。 但是,它是零扩展的,用于 DrawStateProc 函数。

[in] x

在设备单位中绘制图像的水平位置。

[in] y

垂直位置(以设备单位为单位),用于绘制图像。

[in] cx

图像的宽度(以设备单位为单位)。 如果图像类型DST_COMPLEX,则此参数是必需的。 否则,计算图像的宽度可以为零。

[in] cy

图像的高度(以设备单位为单位)。 如果图像类型DST_COMPLEX,则此参数是必需的。 否则,计算图像的高度可以为零。

[in] uFlags

图像类型和状态。 此参数可以是以下类型值之一。

值(类型) 意义
DST_BITMAP
图像是位图。 lData 参数是位图句柄。 请注意,无法将位图选择到现有设备上下文中。
DST_COMPLEX
映像是应用程序定义的。 若要呈现图像,DrawState 调用由 lpOutputFunc 参数指定的回调函数。
DST_ICON
图像是一个图标。 lData 参数是图标句柄。
DST_PREFIXTEXT
图像是可能包含加速键助记符的文本。 DrawState 将 ampersand (&) 前缀字符解释为指令,以强调后面的字符。 lData 参数是指向字符串的指针,wData 参数指定长度。 如果 wData 为零,则字符串必须以 null 结尾。
DST_TEXT
图像为文本。 lData 参数是指向字符串的指针,wData 参数指定长度。 如果 wData 为零,则字符串必须以 null 结尾。
 

此参数也可以是下列状态值之一。

值(状态) 意义
DSS_DISABLED
浮雕图像。
DSS_HIDEPREFIX
忽略文本中的 ampersand (&) 前缀字符,因此后面的字母不会带下划线。 这必须与DST_PREFIXTEXT一起使用。
DSS_MONO
使用由 hbr 参数指定的画笔绘制图像。
DSS_NORMAL
在不进行任何修改的情况下绘制图像。
DSS_PREFIXONLY
仅在与号 (&) 前缀字符之后的字母位置处绘制下划线。 不会绘制字符串中的文本。 这必须与DST_PREFIXTEXT一起使用。
DSS_RIGHT
将文本对齐到右侧。
DSS_UNION
将图像删除。
 

对于除DSS_NORMAL之外的所有状态,在应用视觉效果之前,图像将转换为单色。

返回值

如果函数成功,则返回值为非零。

如果函数失败,则返回值为零。

言论

注意

winuser.h 标头将 DrawState 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

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

另请参阅

DrawStateProc

绘制和绘制函数

绘画和绘图概述