描述
DrawState功能显示图像并应用视觉效果来指示状态,例如禁用或默认状态。
C++ 语法
BOOL DrawState( __in HDC hdc, __in HBRUSH hbr, __in DRAWSTATEPROC lpOutputFunc, __in LPARAM lData, __in WPARAM wData, __in int x, __in int y, __in int cx, __in int cy, __in UINT fuFlags ); |
PowerBASIC 语法
FUNCTION DrawState ( _ BYVAL hdc AS DWORD, _ BYVAL hbr AS DWORD, _ BYVAL lpOutputFunc AS DWORD, _ BYVAL lData AS LONG, _ BYVAL wData AS DWORD, _ BYVAL x AS LONG, _ BYVAL y AS LONG, _ BYVAL cx AS LONG, _ BYVAL cy AS LONG, _ BYVAL fuFlags AS DWORD _ ) AS LONG |
参数
hdc
[in]处理设备上下文以进行绘制。
hbr
[in]如果fuFlags参数指定的状态为DSS_MONO,则用于画图像的画笔处理。其他状态忽略此参数。
lpOutputFunc
[in]指向用于呈现图像的应用程序定义的回调函数的指针。如果fuFlags中的图像类型为DST_COMPLEX,则此参数是必需的。它是可选的,如果图像类型为DST_TEXT,则可以为NULL。对于所有其他图像类型,此参数将被忽略。有关回调函数的更多信息,请参阅DrawStateProc功能。
lData
[in]指定有关图像的信息。该参数的含义取决于图像类型。
wData
[in]指定有关图像的信息。该参数的含义取决于图像类型。但是,这是零扩展用于DrawStateProc功能。
x
[in]指定绘制图像的水平位置(以设备为单位)。
y
[in]指定绘制图像的垂直位置(以设备为单位)。
cx
[in]以设备为单位指定图像的宽度。如果图像类型为DST_COMPLEX,则此参数是必需的。否则,计算图像的宽度可以为零。
cy
[in]以设备为单位指定图像的高度。如果图像类型为DST_COMPLEX,则此参数是必需的。否则,计算图像的高度可以为零。
fuFlags
[in]指定图像类型和状态。此参数可以是以下类型值之一。
值类型) |
含义 |
DST_BITMAP |
图像是一个位图。lData参数是位图句柄。请注意,位图不能被选择到现有的设备上下文中。 |
DST_COMPLEX |
图像是应用程序定义的。要渲染图像,DrawState调用由lpOutputFunc参数指定的回调函数。 |
DST_ICON |
图像是一个图标。LDATA参数是图标句柄。 |
DST_PREFIXTEXT |
图像是可能包含加速器助记符的文本。DrawState将和号(&)前缀字符解释为用于强调以下字符的指令。LDATA参数是指向字符串的指针,WDATA参数指定长度。如果WDATA为零,则字符串必须为空终止。 |
DST_TEXT |
图像是文字。LDATA参数是指向字符串的指针,WDATA参数指定长度。如果WDATA为零,则字符串必须为空终止。 |
此参数也可以是以下状态值之一。
值类型) |
含义 |
DSS_DISABLED |
压印图像。 |
DSS_HIDEPREFIX |
Windows 2000 / XP / Vista / Windows 7:忽略文本中的&符号(&)前缀字符,因此后面的字母不会加下划线。这必须与DST_PREFIXTEXT一起使用。 |
DSS_MONO |
使用hbr参数指定的画笔绘制图像。 |
DSS_NORMAL |
绘制图像,无需任何修改。 |
DSS_PREFIXONLY |
Windows 2000 / XP / Vista / Windows 7:仅在符号(&)前缀字符之后的字母位置绘制下划线。没有绘制字符串中的文本。这必须与DST_PREFIXTEXT一起使用。 |
DSS_RIGHT |
将文本对齐到右侧。 |
DSS_UNION |
抖动图像。 |
对于除DSS_NORMAL之外的所有状态,在应用视觉效果之前,图像将转换为单色。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。
备注
Windows 95/98 / Me:Microsoft Layer for Unicode支持DrawStateW.
引用文件 #INCLUDE Once
WinUser.inc(包括Windows.inc)


