Page 1 sur 1
[R] ToutSelectionner et ToutDeselectionner Checkbox
Posté : mer. 12 oct. 2011 16:25
par tanguy53
bonjour à tous
Comme le montre le titre du sujet, je recherche à "ToutSelectionner" et à "ToutDeselectionner" les checkbox.
j'ai déja vu le sujet:
"
http://www.autoit.fr/forum/viewtopic.ph ... 18&p=15550"
Mais je n'arrive pas à l'appliquer pour mon usage
Mon but: à l'aide de deux boutons, Sélectionner toutes les checkbox et avec le second bouton toutes les déselectionner.
Mon Début de code
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
Opt('MustDeclareVars', 1)
Example()
Func Example()
Local $checkCN,$checkCN1,$checkCN2,$checkCN3, $msg
Local $Boutton_ToutSelectionner,$Boutton_ToutDeSelectionner
GUICreate("My GUI Checkbox") ; will create a dialog box that when displayed is centered
$checkCN = GUICtrlCreateCheckbox("CHECKBOX 1", 10, 10, 120, 20)
$checkCN1 = GUICtrlCreateCheckbox("CHECKBOX 2", 10, 40, 120, 20)
$checkCN2 = GUICtrlCreateCheckbox("CHECKBOX 3", 10, 70, 120, 20)
$checkCN3 = GUICtrlCreateCheckbox("CHECKBOX 4", 10, 100, 120, 20)
$Boutton_ToutSelectionner = GUICtrlCreateButton("Tout Selectionner",150,20,175,50,0)
$Boutton_ToutDeSelectionner = GUICtrlCreateButton("Tout DeSelectionner",150,80,175,50,0)
GUISetState() ; will display an dialog box with 1 checkbox
; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
EndFunc ;==>Example
[/spoiler]
Voilà, si quelqu'un peut m'aider sur le sujet

Re: [..] ToutSelectionner et ToutDeselectionner Checkbox
Posté : mer. 12 oct. 2011 16:37
par sksbir
bonjour
A la louche, je te dirais qu'il te manque carrément tout un bloc de programmation entre ton while et ton wend..
quelque chose du genre
si on a coché "tout selectionner" alors faire une boucle pour cocher toutes les autres
si on a coché "tout déselectionner", alors faire une boucle pour tout décocher...
yaplus qu'à mettre ça en bon langage "autoit".... tu te sens de le faire, ou tu veux une aide plus détaillée ?
[edit] Finalement, j'avais 5mn à perdre...
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
Dim $checkCN,$checkCN1,$checkCN2,$checkCN3, $msg
Dim $Boutton_ToutSelectionner,$Boutton_ToutDeSelectionner
GUICreate("My GUI Checkbox") ; will create a dialog box that when displayed is centered
$checkCN = GUICtrlCreateCheckbox("CHECKBOX 1", 10, 10, 120, 20)
$checkCN1 = GUICtrlCreateCheckbox("CHECKBOX 2", 10, 40, 120, 20)
$checkCN2 = GUICtrlCreateCheckbox("CHECKBOX 3", 10, 70, 120, 20)
$checkCN3 = GUICtrlCreateCheckbox("CHECKBOX 4", 10, 100, 120, 20)
$Boutton_ToutSelectionner = GUICtrlCreateButton("Tout Selectionner",150,20,175,50,0)
$Boutton_ToutDeSelectionner = GUICtrlCreateButton("Tout DeSelectionner",150,80,175,50,0)
GUISetState() ; will display an dialog box with 1 checkbox
; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
If $msg = $Boutton_ToutSelectionner Then toutSelectionner()
If $msg = $Boutton_ToutDeSelectionner Then toutDeselectionner()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
Func toutSelectionner()
GUICtrlSetState($checkCN, $GUI_CHECKED)
GUICtrlSetState($checkCN1, $GUI_CHECKED)
GUICtrlSetState($checkCN2, $GUI_CHECKED)
GUICtrlSetState($checkCN3, $GUI_CHECKED)
EndFunc
Func toutDeselectionner()
GUICtrlSetState($checkCN, $GUI_UNCHECKED)
GUICtrlSetState($checkCN1, $GUI_UNCHECKED)
GUICtrlSetState($checkCN2, $GUI_UNCHECKED)
GUICtrlSetState($checkCN3, $GUI_UNCHECKED)
EndFunc
Re: [..] ToutSelectionner et ToutDeselectionner Checkbox
Posté : mer. 12 oct. 2011 16:41
par PandiPanda
Si vous voulez une aide, suffit de lire le spoiler ^^
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
Opt('MustDeclareVars', 1)
Example()
Func Example()
Local $checkCN,$checkCN1,$checkCN2,$checkCN3, $msg
Local $Boutton_ToutSelectionner,$Boutton_ToutDeSelectionner
GUICreate("My GUI Checkbox") ; will create a dialog box that when displayed is centered
Local $arrayCheckBox[4]=[GUICtrlCreateCheckbox("CHECKBOX 1", 10, 10, 120, 20),GUICtrlCreateCheckbox("CHECKBOX 2", 10, 40, 120, 20), _
GUICtrlCreateCheckbox("CHECKBOX 3", 10, 70, 120, 20),GUICtrlCreateCheckbox("CHECKBOX 4", 10, 100, 120, 20)] ; array contenant les ctrlID des checkBox
$Boutton_ToutSelectionner = GUICtrlCreateButton("Tout Selectionner",150,20,175,50,0)
$Boutton_ToutDeSelectionner = GUICtrlCreateButton("Tout DeSelectionner",150,80,175,50,0)
GUISetState() ; will display an dialog box with 1 checkbox
; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
If $msg = $Boutton_ToutSelectionner Then _CheckAll($arrayCheckBox,True)
If $msg = $Boutton_ToutDeSelectionner Then _CheckAll($arrayCheckBox,False)
WEnd
EndFunc ;==>Example
Func _CheckAll($array,$checkOn=True) ; true pour tout cocher; false pour tout décocher
If $checkOn Then
For $i=0 To UBound($array)-1
GUICtrlSetState($array[$i],$GUI_CHECKED)
Next
Else
For $i=0 To UBound($array)-1
GUICtrlSetState($array[$i],$GUI_UNCHECKED)
Next
EndIf
EndFunc
Re: [..] ToutSelectionner et ToutDeselectionner Checkbox
Posté : mer. 12 oct. 2011 17:20
par tanguy53
Merci sksbir et PandiPanda!!
Je pense pas que j'aurais trouvé tout seul
Un grand Merci
Tanguy
Re: [R] ToutSelectionner et ToutDeselectionner Checkbox
Posté : mer. 12 oct. 2011 21:43
par mikell
Pfff
Code : Tout sélectionner
$checkCN = GUICtrlCreateCheckbox("CHECKBOX 1", 10, 10, 120, 20)
$checkCN1 = GUICtrlCreateCheckbox("CHECKBOX 2", 10, 40, 120, 20)
$checkCN2 = GUICtrlCreateCheckbox("CHECKBOX 3", 10, 70, 120, 20)
$checkCN3 = GUICtrlCreateCheckbox("CHECKBOX 4", 10, 100, 120, 20)
....
For $i = $checkCN To $checkCN3
GUICtrlSetState($i,$GUI_CHECKED)
Next
Re: [R] ToutSelectionner et ToutDeselectionner Checkbox
Posté : mer. 12 oct. 2011 23:19
par Tlem
Attention, ce code ne fonctionne que pour ce cas précis, car l'ID de chaque Checkbox est incrémental par rapport à
$checkCN qui est la première valeur de la série.
Mais si il y a un autre composant qui est créé dans la suite de Checkbox, alors la boucle ne fonctionnera plus pour les Checkbox créées après (cas ou des Checkbox seraient rajoutées ultérieurement et non à la suite de ce groupe).
Si toutes les Checkbox sont créées avec le même préfixe (
$checkCN), alors il vaudra mieux utiliser un code tel que celui-ci :
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
Global $Form1 = GUICreate("Form1", 216, 243, 192, 124)
Global $Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 24, 24, 97, 17)
Global $Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 24, 48, 97, 17)
Global $Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 24, 72, 97, 17)
Global $Radio1 = GUICtrlCreateRadio("Radio1", 24, 96, 113, 17)
Global $Radio2 = GUICtrlCreateRadio("Radio2", 24, 120, 113, 17)
Global $Checkbox4 = GUICtrlCreateCheckbox("Checkbox4", 24, 144, 97, 17)
Global $Checkbox5 = GUICtrlCreateCheckbox("Checkbox5", 24, 168, 97, 17)
Global $Button1 = GUICtrlCreateButton("Tout Cocher", 24, 200, 163, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
For $i = 1 To 5
GUICtrlSetState(Eval("Checkbox" & $i), $GUI_CHECKED)
Next
EndSwitch
WEnd
Re: [R] ToutSelectionner et ToutDeselectionner Checkbox
Posté : jeu. 13 oct. 2011 09:13
par mikell
Merci pour ce léger détail illuminateur dont je confesse humblement l'omission ...
Autant pour l'array de toute façon

Re: [R] ToutSelectionner et ToutDeselectionner Checkbox
Posté : jeu. 13 oct. 2011 11:21
par Tlem
A la différence que votre code est fonctionnel dans le cas précité, alors que ma bourde sur le tableau est éliminatoire.
