[Now Supported on Windows NT]
DrawState功能显示图像并应用视觉效果来指示状态,例如禁用或默认状态。
BOOL WINAPI DrawState(
HDC【HDC】, | //处理设备上下文 |
HBRUSH【HBR】, | //手柄刷 |
DRAWSTATEPROC【lpOutputFunc】, | //指向回调函数的指针 |
LPARAM【LDATA】, | //图像信息 |
WPARAM【WDATA】, | //更多的图像信息 |
INT【x】, | //图像的水平位置 |
INT【y】, | //图像的垂直位置 |
INT【cx】, | //图像宽度 |
INT【cy】, | //图像的高度 |
UINT【fuFlags】 | //图像类型和状态 |
); |
参数
【HDC】
标识要绘制的设备上下文。
【HBR】
如果【fuFlags】参数指定的状态为DSS_MONO,则标识用于绘制图像的画笔。其他状态忽略此参数。
【lpOutputFunc】
指向用于呈现图像的应用程序定义的回调函数。如果【fuFlags】中的图像类型为DST_COMPLEX,则此参数是必需的。它是可选的,如果图像类型为DST_TEXT,则可以为NULL。对于所有其他图像类型,此参数将被忽略。有关回调函数的更多信息,请参阅DrawStateProc函数。
【LDATA】
指定有关图像的信息。该参数的含义取决于图像类型。
【WDATA】
指定有关图像的信息。该参数的含义取决于图像类型。但是,这是零扩展用于DrawStateProc功能。
【x】
指定绘制图像的水平位置。
【y】
指定绘制图像的垂直位置。
【cx】
以设备为单位指定图像的宽度。如果图像类型为DST_COMPLEX,则此参数是必需的。否则,计算图像的宽度可以为零。
【cy】
以设备为单位指定图像的高度。如果图像类型为DST_COMPLEX,则此参数是必需的。否则,计算图像的高度可以为零。
【fuFlags】
指定图像类型和状态。该类型可以是以下值之一:
值类型) | 含义 |
DST_BITMAP | 图像是一个位图。【LDATA】参数的低位字是位图句柄。 |
DST_COMPLEX | 图像是应用程序定义的。要渲染图像,DrawState调用由【lpOutputFunc】参数指定的回调函数。 |
DST_ICON | 图像是一个图标。【LDATA】的低位字是图标句柄。 |
DST_PREFIXTEXT | 图像是可能包含加速器助记符的文本。DrawState将和号(&)前缀字符解释为用于强调以下字符的指令。【LDATA】参数指定字符串的地址,【WDATA】参数指定长度。如果【WDATA】为零,则字符串必须为空终止。 |
DST_TEXT | 图像是文字。【LDATA】参数指定字符串的地址,【WDATA】参数指定长度。如果【WDATA】为零,则字符串必须为空终止。 |
状态可以是以下值之一:
价值(状态) | 含义 |
DSS_NORMAL | 绘制图像,无需任何修改。 |
DSS_UNION | 抖动图像。 |
DSS_DISABLED | 压印图像。 |
DSS_MONO | 使用由【HBR】参数指定的画笔绘制图像。 |
对于除DSS_NORMAL之外的所有状态,在应用视觉效果之前,图像将转换为单色。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。
也可以看看