UDF > WinAPIEx > Theme >


_WinAPI_SetWindowTheme

Force une fenêtre à utiliser un ensemble différent d'informations de style visuel que sa classe utilise normalement

#include <WinAPITheme.au3>
_WinAPI_SetWindowTheme ( $hWnd [, $sName = Default [, $sList = Default]] )

Paramètres

$hWnd Handle de la fenêtre dont les informations de style visuel doivent être changées.
$sName [optionnel] Une chaîne qui contient le nom de l'application. Si ce paramètre est 0 (par défaut), le nom de l'application appelante est utilisé.
$sList [optionnel] Une chaîne qui contient une liste, à séparateur "point-virgule", des noms de CLSID à utiliser à la place de la liste actuelle passée par la classe de la fenêtre. Si ce paramètre est 0 (par défaut), la liste d'ID de la classe appelante est utilisée.

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0 et définit @error <> 0, @extended peut contenir le code d'erreur HRESULT.

Remarques

Le gestionnaire de thème conserve les associations de $sName et $sList pour la durée de vie de la fenêtre, même si les styles visuels changent par la suite.

Lorsque $sName et $sList sont 0, le gestionnaire de thèmes supprime la associations appliquées précédemment. Pour éviter que des styles visuels soient appliqués à une fenêtre spécifiée, passez une chaîne vide ("") qui ne correspond à aucune entrée de section.

Voir aussi

Consultez SetWindowTheme dans la librairie MSDN.

Exemple

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <WinAPISys.au3>
#include <WinAPITheme.au3>

If Number(_WinAPI_GetVersion()) < 6.0 Then
    MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', 'Nécessite Windows Vista ou une version ultérieure.')
    Exit
EndIf

GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), 332, 400)

Local $idListview = GUICtrlCreateListView('Column 1|Column 2|Column 3|Column 4', 10, 10, 312, 380)
For $i = 1 To 9
    GUICtrlCreateListViewItem('Item ' & $i & '|' & 'Sub ' & $i & '|' & 'Sub ' & $i & '|' & 'Sub ' & $i, $idListview)
Next

_WinAPI_SetWindowTheme(GUICtrlGetHandle($idListview), 'Explorer')

GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE