DrawStateW 函数 (winuser.h)

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

语法

BOOL DrawStateW(
  [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 将与 (&) 前缀字符解释为指令,以突出显示后面的字符。 lData 参数是指向字符串的指针,wData 参数指定长度。 如果 wData 为零,则字符串必须以 null 结尾。
DST_TEXT
图像为文本。 lData 参数是指向字符串的指针,wData 参数指定长度。 如果 wData 为零,则字符串必须以 null 结尾。
 

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

值 (状态) 含义
DSS_DISABLED
对图像进行浮雕。
DSS_HIDEPREFIX
忽略文本中的和号 (&) 前缀字符,因此后面的字母不会加下划线。 这必须与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 [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll

另请参阅

DrawStateProc

绘图和绘图函数

绘图和绘图概述