Radiobuttons die in einer Schleife erstellt wurden

  • Hallo Zusammen,

    wie kann ich auslesen welcher Radiobutton ausgewählt wurde?

    Hier mein vereinfachter Code. Normalerweise ist das Array von unbekannter Länge und nicht wie hier vorgegeben, da er einer Zeile einer Textdatei entspricht.


    #include <Array.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <FontConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiButton.au3>
    #include <MsgBoxConstants.au3>


    Local $b_Split[20]
    For $i = 0 To 19
    $b_Split[$i] = $i
    Next
    $iCols = UBound($b_Split)


    $gui_name = GUICreate("Händlername", 500, 500, 100, 100)
    GUISetFont(10, $FW_BOLD)
    $yPos = 10
    For $j = 2 To $iCols - 5
    $Radio_ = GUICtrlCreateRadio($b_Split[$j], 10, $yPos, 300, 20)
    Assign("Radio_" & $j ,$Radio_)
    $yPos = $yPos + 30
    Next
    $yPos = $yPos + 30
    $ok = GUICtrlCreateButton("ok", 50, $yPos)
    GUISetState()


    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    GUIDelete($gui_name)
    ExitLoop
    Case $ok
    For $k = 2 To $iCols
    If GUICtrlRead($Radio_[$k]) = $GUI_CHECKED Then
    $temp2 = $b_Split[$k]
    EndIf
    Next
    MsgBox(48, 1, $temp2)
    GUIDelete($gui_name)
    ExitLoop
    EndSwitch
    WEnd

    • Offizieller Beitrag

    Vergiss Assign und benutze direkt ein Array zum speichern der Ctrl-IDs.
    Wenn Du außerdem den OnEventMode für die GUI verwendest, kannst Du einfach @GUI_CtrlId auswerten.

    Edit: Im OnEventMode brauchst Du die Ctrl-IDs noch nicht mal zu speichern:

  • Der Post ist zwar schon älter, aber vielleicht braucht das nochmal jemand ein Beispiel zum erzeugen dynamischer RadioButtons und der Abfrage, welcher Button Checked ist.

    Gruß gmmg

    3 Mal editiert, zuletzt von gmmg (11. Oktober 2016 um 15:08)