Поделиться через


Функция 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, используется список идентификаторов из класса вызова.

Возвращаемое значение

Тип: HRESULT

Если эта функция выполнена успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT.

Замечания

Диспетчер тем сохраняет pszSubAppName и ассоциации pszSubId List через время существования окна, даже если визуальные стили впоследствии изменяются. Окно отправляется WM_THEMECHANGED сообщение в конце вызова SetWindowTheme, чтобы найти и применить новый визуальный стиль.

Если pszSubAppName и pszSubIdListNULL, диспетчер тем удаляет ранее примененные связи. Вы можете запретить применение визуальных стилей к указанному окну, указав пустую строку (L"), которая не соответствует ни одному элементу раздела.

Примеры

В следующем примере кода предоставляется элемент управления представлением списка внешний вид списка Проводника Windows:

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка uxtheme.h
библиотеки UxTheme.lib
DLL UxTheme.dll