Bonjour à tous/toutes,
Je dispose d'une interface graphique avec un menu principal nommé "Affichage" et deux sous-menu "Désactiver tous les styles visuels" et un deuxième "Activer les styles visuels"
Afin que ce soit plus parlant voici le code:
► Afficher le texte
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ComboConstants.au3>
#include <GuiComboBox.au3>
_MainWinParent()
Func _MainWinParent()
;~ variables interface
Local $WinParent
Local $WinParentName = " Test "
Local $WinParentWidth = 440
Local $WinParentHeight = 57
;~ variables menu
Local $WinParentFileMenu
Local $WinParentViewMenu
;~ variables sous-menu
Local $WinParentFileMenuQuitItem
Local $WinParentViewMenuDisabledStyleItem
Local $WinParentViewMenuEnabledStyleItem
;~ Création de l'interface
$WinParent = GUICreate($WinParentName, $WinParentWidth, $WinParentHeight)
GUISetState()
;~ Création du menu
$WinParentFileMenu = GUICtrlCreateMenu("&Fichier")
$WinParentViewMenu = GUICtrlCreateMenu("&Affichage")
;~ Création du sous-menu
$WinParentFileMenuQuitItem = GUICtrlCreateMenuItem("Quitter" & @TAB & "Alt+F4", $WinParentFileMenu)
$WinParentViewMenuDisabledStyleItem = GUICtrlCreateMenuItem ("Désactiver tous les styles visuels", $WinParentViewMenu)
$WinParentViewMenuEnabledStyleItem = GUICtrlCreateMenuItem ("Activer les styles visuels", $WinParentViewMenu)
While 1
$GetMsg = GUIGetMsg()
Select
Case $GetMsg = $GUI_EVENT_CLOSE Or $GetMsg = $WinParentFileMenuQuitItem
ExitLoop
;~ désactiver les styles visuels
Case $GetMsg = $WinParentViewMenuDisabledStyleItem
If GUICtrlRead($WinParentViewMenuDisabledStyleItem) = 68 Then
GUICtrlSetState($WinParentViewMenuDisabledStyleItem ,65)
GUICtrlSetState($WinParentViewMenuEnabledStyleItem ,68)
_DisabledStyle()
GUIDelete($WinParent)
_MainWinParent()
EndIf
;~ activer les styles visuels
Case $GetMsg = $WinParentViewMenuEnabledStyleItem
If GUICtrlRead($WinParentViewMenuEnabledStyleItem) = 68 Then
GUICtrlSetState($WinParentViewMenuEnabledStyleItem ,65)
GUICtrlSetState($WinParentViewMenuDisabledStyleItem ,68)
_EnabledStyle()
GUIDelete($WinParent)
_MainWinParent()
EndIf
EndSelect ;~ Select
WEnd ;~ While
GUIDelete()
Exit
EndFunc ;~ _MainWinParent
;~ désactiver tous les styles visuels
Func _DisabledStyle()
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
EndFunc
;~ activer les styles visuels
Func _EnabledStyle()
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 1)
EndFunc
Je veux pouvoir choisir entre la désactivation et/ou l'activation des styles visuels et la seule parade que j'ai trouvé c'est de détruire l'interface principale et relancer la fonction principal pour obtenir le résultat escompté.
Pourriez-vous me guider vers quelques pistes s'il vous plaît ?
En vous remerciant par avance de vos réponses.