je construit des checkbox de manière dynamiques, et je voudrais, par exemple, toute les décocher en appuyant sur le bouton annuler.
je retrouve bien le handle de ma checkbox, mais avec la commande
$Controle = GUICtrlGetHandle (Eval("Checkboxoui"&$i))
guictrlsetstate($Controle,$gui_unchecked)
ça ne fait rien
en gros, toutes les parties commentées ;***************** ne fonctionnent pas, so...
voici mon code
Code : Tout sélectionner
#include <Array.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <File.au3>
#include <GuiComboBox.au3>
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <MsgBoxConstants.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WinAPIFiles.au3>
#include <WindowsConstants.au3>
local const $iniFileConf=@ScriptDir & "\Config.ini"
local const $iniFileForm=@ScriptDir & "\formations.ini"
local const $iniFileDispo=@ScriptDir & "\dispo.ini"
Local $hFile = FileOpen(@ScriptDir & "\TrcFct.log", 1)
#Region ### START Koda GUI section ### Form=
$Disponibilite = GUICreate("Disponibilités FPDM1", 615, 437, 192, 124)
$Combo1 = GUICtrlCreateCombo("", 24, 13, 161, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Section="REGIONS"
$aArray=IniReadSection($iniFileConf, $Section)
If Not @error Then
; Enumerate through the array displaying the keys and their respective values.
For $i = 1 To $aArray[0][0]
GUICtrlSetData($Combo1,$aArray[$i][1])
Next
EndIf
$Combo2 = GUICtrlCreateCombo("", 24, 40, 161, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetState(-1, $GUI_HIDE)
$Button1 = GUICtrlCreateButton("valider", 488, 392, 105, 33)
$Button2 = GUICtrlCreateButton("Annuler", 352, 392, 113, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $Combo1
$Section= GUICtrlRead($Combo1)
$aArray=IniReadSection($iniFileConf, $Section)
If Not @error Then
; Enumerate through the array displaying the keys and their respective values.
For $i = 1 To $aArray[0][0]
GUICtrlSetData($Combo2,$aArray[$i][1])
Next
EndIf
GUICtrlSetState($Combo2, $GUI_show)
case $combo2
$FTP=GUICtrlRead($combo2)
_FileWriteLog($hFile, $FTP & " - " & $Section, -1)
$Label1 = GUICtrlCreateLabel("Formation FPDM1 Promo :", 40, 95, 300, 20)
$Label2 = GUICtrlCreateLabel("Disponible", 400, 95, 100, 20)
$aArray=IniReadSection($iniFileForm, "Promotion" & @YEAR+1)
$n = $aArray[0][0]
If Not @error Then
; Enumerate through the array displaying the keys and their respective values.
For $i = 1 To $n
$y=95+($i*20)
$Label = GUICtrlCreateLabel($aArray[$i][1] ,40, $y, 340, 20)
Assign("Checkboxoui" & $i, GUICtrlCreateCheckbox("Oui" ,400, $y, 50, 20))
Next
EndIf
$m=$n
$Label = GUICtrlCreateLabel("Formation FPDM1 HORS Promo :" ,40, 95+$y, 340, 20)
$aArray=IniReadSection($iniFileForm, "Hors_Promotion" & @YEAR+1)
$n = $aArray[0][0]
If Not @error Then
; Enumerate through the array displaying the keys and their respective values.
For $i = 1 To $n
$z =95+$y+($i*20)
$Label = GUICtrlCreateLabel($aArray[$i][1] ,40, $z, 340, 20)
Assign("Checkboxoui" & $i + $m, GUICtrlCreateCheckbox("Oui" ,400, $z, 50, 20))
Next
EndIf
$m=$m+$n
For $i= 1 to $m
$aArray=IniReadSection($iniFileDispo, $i & "_" & @YEAR+1)
$ii = $aArray[0][0]
For $t = 1 to $ii
If $FTP = $aArray[$t][1] Then
guictrlsetstate("Checkboxoui"&$t,$gui_checked);*****************
EndIf
Next
next
case $Button1
for $i = 1 to $m
if GUICtrlRead(Eval("Checkboxoui"&$i)) = 1 then
$aArray=IniReadSection($iniFileDispo, $i & "_" & @YEAR+1)
IniWrite($iniFileDispo,$i & "_" & @YEAR+1, $aArray[0][0]+1, $FTP)
EndIf
next
msgbox ("", "", "Merci pour votre réponse")
Exit
case $Button2
for $i = 1 to $m;
if GUICtrlRead(Eval("Checkboxoui"&$i)) = 1 then;*****************
$Controle = GUICtrlGetHandle (Eval("Checkboxoui"&$i));*****************
guictrlsetstate($Controle,$gui_unchecked);*****************
EndIf
Next
EndSwitch
WEnd