GetThemeBackgroundContentRect 函数 (uxtheme.h)

检索视觉样式定义的背景的内容区域的大小。

语法

HRESULT GetThemeBackgroundContentRect(
  [in]  HTHEME  hTheme,
  [in]  HDC     hdc,
  [in]  int     iPartId,
  [in]  int     iStateId,
  [in]  LPCRECT pBoundingRect,
  [out] LPRECT  pContentRect
);

参数

[in] hTheme

类型: HTHEME

窗口的指定主题数据的句柄。 使用 OpenThemeData 创建 HTHEME。

[in] hdc

类型: HDC

绘制时要使用的 HDC。 此参数可能设置为 NULL

[in] iPartId

类型: int

int 类型的值,指定包含内容区域的部件。 请参阅 部件和状态

[in] iStateId

类型: int

int 类型的值,指定包含内容区域的部件的状态。 请参阅 部件和状态

[in] pBoundingRect

类型: LPCRECT

指向包含逻辑坐标中总背景矩形的 RECT 结构的指针。 这是边框或边距内的区域。

[out] pContentRect

类型: LPRECT

指向接收内容区域背景矩形(以逻辑坐标表示) 的 RECT 结构的指针。 计算此矩形以适应内容区域。

返回值

类型: HRESULT

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

视觉样式可以定义每个背景图像中的内容区域。 这是可以在不覆盖背景边框的情况下放置内容(如文本和图标)的区域。

示例

将主题应用于窗口的整个工作区时,可以调用 GetClientRect 以在 RECT 中检索此区域,该区域可以通过指针作为 pContentRect 参数传递给 GetThemeBackgroundContentRect ,如以下示例所示。

DWORD resultFlags = GetThemeAppProperties();
bool ctrlsAreThemed = ((resultFlags & STAP_ALLOW_CONTROLS) != 0);

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 uxtheme.h
Library UxTheme.lib
DLL UxTheme.dll

另请参阅

GetThemeBackgroundExtent

属性标识符

引用