[R] "Groupe" de contrôles (Agir sur plusieurs contrôles d'un coup)

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
someonescripting
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mar. 16 juin 2020 03:55
Status : Hors ligne

[R] "Groupe" de contrôles (Agir sur plusieurs contrôles d'un coup)

#1

Message par someonescripting »

Hello, encore moi =D

Petite question, j'ai mon script qui contient beaucoup de checkbox, et j'ai ajouter des menu "tout cocher" et "tout décocher".
Il faut donc que je crée 2 fonctions associés à ces menu, mais cela me ferais faire 59 "GUICtrlSetState($CheckBox1, $GUI_CHECKED)" pour l'une, et re 59 en "UNCHECKED" pour l'autre. (Rien trouvé sur le net ou le forum, j'ai peut être pas le bon therme ...)

Serait il possible de creer une sorte de "groupe" de controles, ce qui me permettrais de faire juste "GUICtrlSetState("GROUPE", $GUI_CHECKED)" pour la première fonction, et "GUICtrlSetState("GROUPE", $GUI_UNCHECKED) pour l'autre ?"

Et évidemment, merci d'avance pour votre aide.
Modifié en dernier par someonescripting le sam. 04 juil. 2020 15:59, modifié 1 fois.
Un bon informaticien, est un informaticien fainéant !

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 6000
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] "Groupe" de contrôles (Agir sur plusieurs contrôles d'un coup)  

#2

Message par mikell »

A chaque checkbox créée tu stockes son id dans une array
Tu peux ensuite les cocher/décocher en parcourant l'array avec une simple boucle For...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 )

Avatar du membre
someonescripting
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mar. 16 juin 2020 03:55
Status : Hors ligne

Re: [..] "Groupe" de contrôles (Agir sur plusieurs contrôles d'un coup)

#3

Message par someonescripting »

Salut @mikell

Merci pour l'info, je n'avais encore jamais utilisé d'array ou de boucle For...Next

Code : Tout sélectionner

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


Opt("MustDeclareVars", 1) ;Les variables doivent être déclarés.
Opt("GUIOnEventMode", 1) ;Active le mode événementiel.

Global $StopScript = False

Global $hGUI = GUICreate("GUI", 200, 100)
Global $idCheckbox1 = GUICtrlCreateCheckbox("Confirmation de suppression", 10, 10, 185, 25)
Global $idCheckbox2 = GUICtrlCreateCheckbox("Theme sombre", 10, 30, 185, 25)
Global $idButton = GUICtrlCreateButton("Tout cocher", 10, 70, 185, 25)
Global $ArrayCB[2]
$ArrayCB[0] = $idCheckbox1
$ArrayCB[1] = $idCheckbox2
GUISetState(@SW_SHOW, $hGUI)

GUISetOnEvent ($GUI_EVENT_CLOSE, "CLOSE")
GUICtrlSetOnEvent ($idButton, "ALLCHECK")


While Not $StopScript
	Sleep (100)
WEnd

Func ALLCHECK()
 	For $i = 0 To 1
		GUICtrlSetState ($ArrayCB[$i], $GUI_CHECKED)
	Next
EndFunc

Func CLOSE()
	$StopScript = True
EndFunc
Un bon informaticien, est un informaticien fainéant !

Répondre