Bonjour,
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $zic = GUICreate("Choix de type de musique", 180, 89, 202, 124)
Global $checkRap = GUICtrlCreateCheckbox("Rap", 96, 8, 73, 17)
Global $checkClassic = GUICtrlCreateCheckbox("Classic", 8, 8, 65, 17)
Global $checkRock = GUICtrlCreateCheckbox("Rock", 8, 32, 65, 17)
Global $checkMetal = GUICtrlCreateCheckbox("Metal", 96, 32, 65, 17)
Global $Button1 = GUICtrlCreateButton("OK", 8, 56, 75, 25)
Global $Button2 = GUICtrlCreateButton("Annuler", 96, 56, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Local $Classic, $Rock, $Metal, $Rap = "j'aime pas le rap"
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $Button2
Exit
Case $Button1
If _IsChecked($checkClassic) Then $Classic = "classic"
If _IsChecked($checkRap) Then $Rap = "j'aime le rap"
If _IsChecked($checkRock) Then $Rock = "rock"
If _IsChecked($checkMetal) Then $Metal = "métal"
MsgBox(0,"",$Rap & @CRLF & $Rock & @CRLF & $Classic & @CRLF & $Metal)
$Classic = ""
$Rock = ""
$Metal = ""
$Rap = "j'aime pas le rap"
GUICtrlSetState($checkClassic,4) ;$GUI_UNCHECKED (4)
GUICtrlSetState($checkRap,4)
GUICtrlSetState($checkRock,4)
GUICtrlSetState($checkMetal,4)
EndSwitch
WEnd
Func _IsChecked($idControlID)
Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
EndFunc ;==>_IsChecked
Après si vous avez beaucoup de checkbox, vous avez cette solution
(on enregistre les ID des contrôles dans un array)
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Local $sort[13] = ["Rap","Classic","Rock","Metal","Blues rock","Country","Folk","Flamenco","Fun-punk","Gospel","Hip-hop alternatif","Indie folk","New age"]
Local $sortID[13] ; ID des Checkbox
Local $top = 5
Global $zic = GUICreate("Choix de type de musique", 180, 289)
For $i = 0 To UBound($sortID) - 1
$sortID[$i] = GUICtrlCreateCheckbox($sort[$i],5,$top)
$top += 18
Next
Global $Button1 = GUICtrlCreateButton("OK", 8, 256, 75, 25)
Global $Button2 = GUICtrlCreateButton("Annuler", 96, 256, 75, 25)
GUISetState(@SW_SHOW)
Local $result
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $Button2
Exit
Case $Button1
For $i = 0 To UBound($sortID) - 1
If _IsChecked($sortID[$i]) Then $result &= GUICtrlRead($sortID[$i],1) & @CRLF
Next
MsgBox(0,"",$result)
$result = ""
EndSwitch
WEnd
Func _IsChecked($idControlID)
Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
EndFunc ;==>_IsChecked