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]] )
$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. |
Succès: | Retourne 1. |
Échec: | Retourne 0 et définit @error <> 0, @extended peut contenir le code d'erreur HRESULT. |
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.
Consultez SetWindowTheme dans la librairie MSDN.
#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