DrawThemeBackground 函数 (uxtheme.h)
绘制由指定控件部件的视觉样式定义的边框和填充。
语法
HRESULT DrawThemeBackground(
[in] HTHEME hTheme,
[in] HDC hdc,
[in] int iPartId,
[in] int iStateId,
[in] LPCRECT pRect,
[in] LPCRECT pClipRect
);
参数
[in] hTheme
类型: HTHEME
窗口的指定主题数据的句柄。 使用 OpenThemeData 创建 HTHEME。
[in] hdc
类型: HDC
用于绘制主题定义的背景图像的 HDC。
[in] iPartId
类型: int
int 类型的值,指定要绘制的部件。 请参阅 部件和状态。
[in] iStateId
类型: int
int 类型的值,指定要绘制的部件的状态。 请参阅 部件和状态。
[in] pRect
类型: const RECT*
指向 RECT 结构的指针,该结构包含绘制背景图像的逻辑坐标矩形。
[in] pClipRect
类型: const RECT*
指向包含剪裁矩形的 RECT 结构的指针。 此参数可以设置为 NULL。
返回值
类型: HRESULT
如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
绘制操作缩放为适合,且不超过 pRect 中指定的矩形。 应用程序不应在 pClipRect 指定的矩形之外绘制。
示例
在调用 DrawThemeBackground 绘制窗口的背景图像之前,可以调用 IsThemeBackgroundPartiallyTransparent。 此方法确定是否应调用 DrawThemeParentBackground ,以在部分透明或 alpha 混合子控件后面的背景中绘制,并在以下示例中演示。
if (_hTheme)
{
if (IsThemeBackgroundPartiallyTransparent(_hTheme, BP_PUSHBUTTON, _iStateId))
{
DrawThemeParentBackground(_hwnd, hdcPaint, prcPaint);
}
DrawThemeBackground(_hTheme,
hdcPaint,
BP_PUSHBUTTON,
_iStateId,
&rcClient,
prcPaint);
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | uxtheme.h |
Library | UxTheme.lib |
DLL | UxTheme.dll |