SetWindowTheme, fonction (uxtheme.h)

Fait en sorte qu’une fenêtre utilise un ensemble d’informations de style visuel différent de celui utilisé normalement par sa classe.

Syntaxe

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

Paramètres

[in] hwnd

Type : HWND

Handle vers la fenêtre dont les informations de style visuel doivent être modifiées.

[in] pszSubAppName

Type : LPCWSTR

Pointeur vers une chaîne qui contient le nom de l’application à utiliser à la place du nom de l’application appelante. Si ce paramètre a la valeur NULL, le nom de l’application appelante est utilisé.

[in] pszSubIdList

Type : LPCWSTR

Pointeur vers une chaîne qui contient une liste de noms CLSID séparés par des points-virgules à utiliser à la place de la liste réelle passée par la classe de la fenêtre. Si ce paramètre a la valeur NULL, la liste d’ID de la classe appelante est utilisée.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Le gestionnaire de thèmes conserve les associations pszSubAppName et pszSubIdList tout au long de la durée de vie de la fenêtre, même si les styles visuels changent par la suite. La fenêtre reçoit un message WM_THEMECHANGED à la fin d’un appel SetWindowTheme , afin que le nouveau style visuel puisse être trouvé et appliqué.

Lorsque pszSubAppName et pszSubIdList ont la valeur NULL, le gestionnaire de thèmes supprime les associations précédemment appliquées. Vous pouvez empêcher l’application de styles visuels à une fenêtre spécifiée en spécifiant une chaîne vide, (L » « ), qui ne correspond à aucune entrée de section.

Exemples

L’exemple de code suivant donne à un contrôle d’affichage de liste l’apparence d’une liste de Explorer Windows :

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête uxtheme.h
Bibliothèque UxTheme.lib
DLL UxTheme.dll