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

另请参阅

属性标识符