merci d'avance
Griser le Contenu d'une GUI
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- Nicoloquinte
- Niveau 4
- Messages : 70
- Enregistré le : ven. 15 juil. 2016 11:57
- Status : Hors ligne
Griser le Contenu d'une GUI
Bonjour , j'aimerai griser un partie des boutons et autres trucs de ma Gui avec le fameux
Mai la , Je me heurte a un problème , j'ai essayé la boucle For avec les noms de mes Champs a l’intérieur , mais ça ne marche pas (et je crois comprendre pourquoi) J'ai aussi essayé l’histoire de les cacher mais c'est pas super beau ... y-aurait-il un moyen de mettre les contrôles dans un groupe et griser ce groupe
merci d'avance
merci d'avance
Nico ¤_¤
Re: Griser le Contenu d'une GUI
Il faut mettre les ID des contrôles dans un tableau et faire une boucle comme tu l'as fait.
Montre-nous ce que tu as fait
Montre-nous ce que tu as fait
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: Griser le Contenu d'une GUI
Si les controles ont été créés bien à la suite tu peux aussi essayer ça
Mais le tableau reste quand même une solution plus propre (même si en pratique ça fait la même chose)
Code : Tout sélectionner
For $i = $bouton1 to $bouton10
GUICtrlSetState($i, $GUI_DISABLE)
Next
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- Nicoloquinte
- Niveau 4
- Messages : 70
- Enregistré le : ven. 15 juil. 2016 11:57
- Status : Hors ligne
Re: Griser le Contenu d'une GUI
Mes noms sont vraiment spécifique , moi j'ai fait ça ,
Mais , ça ne grise pas grand chose
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Local $Arr[5] = ["$Button1","$Button2","$Button3","$Button4","$Button5"]
$Form2 = GUICreate("Form1", 163, 293, 1021, 392)
$Button1 = GUICtrlCreateButton("Button1", 32, 24, 75, 25)
$Button2 = GUICtrlCreateButton("Button2", 32, 72, 75, 25)
$Button3 = GUICtrlCreateButton("Button3", 32, 120, 75, 25)
$Button4 = GUICtrlCreateButton("Button4", 32, 168, 75, 25)
$Button5 = GUICtrlCreateButton("Button5", 32, 216, 75, 25)
GUISetState(@SW_SHOW)
For $i = 0 To 4
GUICtrlSetState($Arr[$i], $GUI_DISABLE)
Next
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Local $Arr[5] = ["$Button1","$Button2","$Button3","$Button4","$Button5"]
$Form2 = GUICreate("Form1", 163, 293, 1021, 392)
$Button1 = GUICtrlCreateButton("Button1", 32, 24, 75, 25)
$Button2 = GUICtrlCreateButton("Button2", 32, 72, 75, 25)
$Button3 = GUICtrlCreateButton("Button3", 32, 120, 75, 25)
$Button4 = GUICtrlCreateButton("Button4", 32, 168, 75, 25)
$Button5 = GUICtrlCreateButton("Button5", 32, 216, 75, 25)
GUISetState(@SW_SHOW)
For $i = 0 To 4
GUICtrlSetState($Arr[$i], $GUI_DISABLE)
Next
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Nico ¤_¤
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: Griser le Contenu d'une GUI
Alors ...
1) $Button1 = id de controle , mais "$Button1" = string (à cause des guillemets)
donc l'array devrait plutôt ressembler à ça
Local $Arr[5] = [$Button1,$Button2,$Button3,$Button4,$Button5]
2) c'est beaucoup mieux si l'array est déclarée après la création des boutons
1) $Button1 = id de controle , mais "$Button1" = string (à cause des guillemets)
donc l'array devrait plutôt ressembler à ça
Local $Arr[5] = [$Button1,$Button2,$Button3,$Button4,$Button5]
2) c'est beaucoup mieux si l'array est déclarée après la création des boutons
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: Griser le Contenu d'une GUI
Et si tu essayais plutot comme ca :
(Plus simple selon moi).
(Plus simple selon moi).
Local $Arr[6][5] = [[Ubound($Arr)-1] _
, ["Button1", 32, 24, 75, 25] _
, ["Button2", 32, 72, 75, 25] _
, ["Button3", 32, 120, 75, 25] _
, ["Button4", 32, 168, 75, 25] _
, ["Button5", 32, 216, 75, 25] _
]
$Form2 = GUICreate("Form1", 163, 293, 1021, 392)
For $i =1 To $Arr[0][0]
Assign($Arr[$i][0], GUICtrlCreateButton($Arr[$i][0], $Arr[$i][1], $Arr[$i][2], $Arr[$i][3], $Arr[$i][4]))
Next
GUISetState(@SW_SHOW)
For $i =1 To $Arr[0][0]
GUICtrlSetState(Eval($Arr[$i][0]), $GUI_DISABLE)
Sleep(1000)
Next
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
, ["Button1", 32, 24, 75, 25] _
, ["Button2", 32, 72, 75, 25] _
, ["Button3", 32, 120, 75, 25] _
, ["Button4", 32, 168, 75, 25] _
, ["Button5", 32, 216, 75, 25] _
]
$Form2 = GUICreate("Form1", 163, 293, 1021, 392)
For $i =1 To $Arr[0][0]
Assign($Arr[$i][0], GUICtrlCreateButton($Arr[$i][0], $Arr[$i][1], $Arr[$i][2], $Arr[$i][3], $Arr[$i][4]))
Next
GUISetState(@SW_SHOW)
For $i =1 To $Arr[0][0]
GUICtrlSetState(Eval($Arr[$i][0]), $GUI_DISABLE)
Sleep(1000)
Next
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: Griser le Contenu d'une GUI
Question de point de vuePlus simple selon moi
ça marche... mais personnellement je déconseille l'usage systématique de Assign/Eval
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: Griser le Contenu d'une GUI
Je dirais même plus mon cher Mikell: mieux vaut éviter l'utilisation de Assign
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
- Nicoloquinte
- Niveau 4
- Messages : 70
- Enregistré le : ven. 15 juil. 2016 11:57
- Status : Hors ligne
Re: Griser le Contenu d'une GUI
Ah oui J'avais oublié qu'on pouvais déclarer les variables quand on voulais Mercis Mikell , toujours aussi Pro
Mais pour la solution d'A2Energie , Elle me paraît très usine a gaz ....
Merci beaucoup a vous tous
Mais pour la solution d'A2Energie , Elle me paraît très usine a gaz ....
Merci beaucoup a vous tous
Nico ¤_¤
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: Griser le Contenu d'une GUI
Bien entendujguinch a écrit :Je dirais même plus mon cher Mikell: mieux vaut éviter l'utilisation de Assign
Mais considérant que
1) si Autoit le propose c'est que c'est faisable,
2) effectivement ça peut marcher,
3) l'utilisateur est raisonnablement adulte et s'il a envie de se faire un script casse-g... c'est son problème,
4) maintenant je suis vert et plus orange donc dorénavant et jusqu'à désormais inclus je modère mes propos ,
Je me contente d'émettre une suggestion basée sur un avis personnel avec les réserves d'usage
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )