Functions > GUI >


GUIStartGroup

Décide que les contrôles créés ultérieurement appartiendront à un même groupe.

GUIStartGroup ( [winhandle] )

Paramètre

winhandle [optionnel] Handle Windows retourné par GUICreate() (par défaut, la fenêtre précédemment utilisée).

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0.

Remarque

Cette fonction est généralement utilisée lorsque vous travaillez avec des contrôles RadioButton. Lorsque vous cliquez sur un RadioButton tous les autres RadioButton dans le même groupe sont reinitialisés. La fonction GUIStartGroup() vous permet de définir facilement ces groupes.

En relation

GUICtrlCreateGroup

Exemple

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

Example()

Func Example()
    Opt("GUICoordMode", 1)

    GUICreate("Radio Box Grouping Demo", 400, 280)

    ; Crée les contrôles
    Local $idButton_1 = GUICtrlCreateButton("B&utton 1", 30, 20, 120, 40)
    GUICtrlCreateGroup("Group 1", 30, 90, 165, 160)
    GUIStartGroup()
    Local $idRadio_1 = GUICtrlCreateRadio("Radio &0", 50, 120, 70, 20)
    Local $idRadio_2 = GUICtrlCreateRadio("Radio &1", 50, 150, 60, 20)
    Local $idRadio_3 = GUICtrlCreateRadio("Radio &2", 50, 180, 60, 20)
    GUIStartGroup()
    Local $idRadio_4 = GUICtrlCreateRadio("Radio &A", 120, 120, 70, 20)
    Local $idRadio_5 = GUICtrlCreateRadio("Radio &B", 120, 150, 60, 20)
    Local $idRadio_6 = GUICtrlCreateRadio("Radio &C", 120, 180, 60, 20)
    GUIStartGroup()
    Local $idInput_1 = GUICtrlCreateInput("Input 1", 200, 20, 160, 30)
    Local $idInput_2 = GUICtrlCreateInput("Input 2", 200, 70, 160, 30)

    ; Définit les paramètres par défaut (RadioButton cliqué, le bouton par défaut, etc..)
    GUICtrlSetState($idRadio_1, $GUI_CHECKED)
    GUICtrlSetState($idRadio_6, $GUI_CHECKED)
    GUICtrlSetState($idButton_1, $GUI_FOCUS + $GUI_DEFBUTTON)

    ; Initialise les vars que nous allons utiliser pour garder une trace des événements Radio
    Local $iRadioVal1 = 0 ; Nous supposerons 0 = premier RadioButton sélectionné, 2 = dernier RadioButton
    Local $iRadioVal2 = 2

    GUISetState(@SW_SHOW)

    Local $idMsg
    ; Dans cette boucle de message nous utilisons des variables pour garder une trace des changements apportés aux radios, une autre
    ; façon serait d'utiliser GUICtrlRead() à la fin pour lire dans l'état de chaque contrôle. Les deux
    ; méthodes sont également valables
    Do
        $idMsg = GUIGetMsg()
        Select
            Case $idMsg = $idButton_1
                MsgBox($MB_SYSTEMMODAL, "", "Radio " & $iRadioVal1 & @CRLF & "Radio " & Chr($iRadioVal2 + Asc("A")) & @CRLF & GUICtrlRead($idInput_1) & @CRLF & GUICtrlRead($idInput_2))

            Case $idMsg = $idRadio_1 Or $idMsg = $idRadio_2 Or $idMsg = $idRadio_3
                $iRadioVal1 = $idMsg - $idRadio_1

            Case $idMsg = $idRadio_4 Or $idMsg = $idRadio_5 Or $idMsg = $idRadio_6
                $iRadioVal2 = $idMsg - $idRadio_4

        EndSelect
    Until $idMsg = $GUI_EVENT_CLOSE

    GUIDelete()
EndFunc   ;==>Example