radiobutton - Group benutzen

  • guten morgen,

    ich habe eine GUI als Übung erstellt:


    es gibt da group1 (radio1 + radio2) und group2 (radio1 + radio2)

    wie muss der Code aussehen, dass bei auswahl:
    group1 --> radio1 eine Msgbox startet und ausgibt: group1 -1
    und bei:
    group2 --> radio1 eine Msgbox startet und ausgibt: group2 -1

    geht das so ueberhaupt, oder muss ich die radiobutton mit 1 2 3 4 durchnummerieren ??

    danke erstmal,
    gruss
    roland alias super47

    Ps: lasst euch Zeit, ich lass mir gleich 4 zähne ziehen (brrrrrrrrrrrrrrrrr)

  • Die Variablen müssen auf jeden Fall durchnummeriert sein. Sonst überschreibst du ja die Control-ID's die in $Radio1 und $Radio2 stehen.
    Wenn du viele Gruppen und/oder Radioboxen hättest könnte man sie evtl in array's zusammenfassen.
    Bei der kleinen Anzahl hier finde ich macht es noch nicht viel Sinn

    • Offizieller Beitrag

    Hier ist mal ein Beispiel, mit jeweils 3 Radiobuttons (mit Arrays):

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 623, 436, 192, 132)
    Global $aRadioGroup1[4]
    $aRadioGroup1[0] = GUICtrlCreateGroup("Group1", 64, 16, 217, 121)
    $aRadioGroup1[1] = GUICtrlCreateRadio("Radio1", 112, 50, 113, 17)
    $aRadioGroup1[2] = GUICtrlCreateRadio("Radio2", 112, 70, 113, 17)
    $aRadioGroup1[3] = GUICtrlCreateRadio("Radio3", 112, 90, 113, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    Global $aRadioGroup2[4]
    $aRadioGroup2[0] = GUICtrlCreateGroup("Group2", 64, 192, 217, 113)
    $aRadioGroup2[1] = GUICtrlCreateRadio("Radio1", 112, 210, 113, 17)
    $aRadioGroup2[2] = GUICtrlCreateRadio("Radio2", 112, 230, 113, 17)
    $aRadioGroup2[3] = GUICtrlCreateRadio("Radio3", 112, 250, 113, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $aRadioGroup1[1] To $aRadioGroup1[3]
    MsgBox(0, 'Radio', 'Group1, ' & GUICtrlRead($nMsg, 1))
    Case $aRadioGroup2[1] To $aRadioGroup2[3]
    MsgBox(0, 'Radio', 'Group2, ' & GUICtrlRead($nMsg, 1))
    EndSwitch
    WEnd

    [/autoit]