SetWindowTheme 函数 (uxtheme.h)

导致窗口使用一组不同于其类通常使用的视觉样式信息集。

语法

HRESULT SetWindowTheme(
  [in] HWND    hwnd,
  [in] LPCWSTR pszSubAppName,
  [in] LPCWSTR pszSubIdList
);

参数

[in] hwnd

类型: HWND

要更改其视觉样式信息的窗口的句柄。

[in] pszSubAppName

类型: LPCWSTR

指向包含要用于代替调用应用程序名称的应用程序名称的字符串的指针。 如果此参数为 NULL,则使用调用应用程序的名称。

[in] pszSubIdList

类型: LPCWSTR

指向包含以分号分隔的 CLSID 名称列表的字符串的指针,该列表用于代替由窗口的 类传递的实际列表。 如果此参数为 NULL,则使用调用类中的 ID 列表。

返回值

类型: HRESULT

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

注解

主题管理器在窗口的整个生存期内保留 pszSubAppNamepszSubIdList 关联,即使视觉样式随后发生更改也是如此。 在 SetWindowTheme 调用结束时向窗口发送WM_THEMECHANGED消息,以便可以找到并应用新的视觉样式。

pszSubAppNamepszSubIdListNULL 时,主题管理器会删除以前应用的关联。 可以通过指定空字符串( (L“”) (与任何节项不匹配)来阻止将视觉样式应用于指定窗口。

示例

以下示例代码为列表视图控件提供 Windows 资源管理器列表的外观:

SetWindowTheme(hwndList, L"Explorer", NULL);

要求

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