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 错误代码。
言论
主题管理器在窗口生存期内保留 pszSubAppName 和 pszSubIdList 关联,即使视觉样式随后发生更改。 窗口将在 SetWindowTheme 调用结束时发送 WM_THEMECHANGED 消息,以便找到并应用新的视觉样式。
当 pszSubAppName 和 pszSubIdListNULL时,主题管理器将删除以前应用的关联。 可以通过指定空字符串(L“)来防止视觉样式应用于指定窗口,该字符串与任何节条目不匹配。
例子
以下示例代码为列表视图控件提供 Windows 资源管理器列表的外观:
SetWindowTheme(hwndList, L"Explorer", NULL);
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista [仅限桌面应用] |
支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | uxtheme.h |
库 | UxTheme.lib |
DLL | UxTheme.dll |