Nur einen Radiobutton markierbar machen

  • Hi AutoIt-Scripter,
    ich möchte im Rahmen eines kleinen Projekts ein Frage-Spiel machen, bei dem man unter einer von 4 Antworten auswählen kann. Das Problem ist nun, das der 1. Radio Button nach einmaligem Anklicken immer diesen Punkt inne hat, die anderen 3 funktionieren wie gewünscht, also wenn ich z.B. Antwort 2 markiert habe, mich dann aber für 3. entscheide, und diese anklicke, verschwindet der Punkt aus 2 und geht zu 3. Wie kann ich das lösen? Googlen ergab nix.

    Hilfe, und danke schonmal.

    Einmal editiert, zuletzt von Yusago™ (5. Juni 2011 um 15:24)

  • [autoit]

    Rauseditiert

    [/autoit]

    Einmal editiert, zuletzt von Yusago™ (5. Juni 2011 um 15:24)

  • Du musst alle Radiobuttons die nachher zu einer Gruppe gehören sollen nacheinander erstellen, also so:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 690, 443, 192, 124)
    $Label1 = GUICtrlCreateLabel("Frage .... ?", 16, 24, 68, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    $Frage = GUICtrlCreateGroup("Frage", 8, 8, 553, 193)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Radio1 = GUICtrlCreateRadio("Antwort 1", 24, 48, 233, 25)
    $Radio2 = GUICtrlCreateRadio("Antwort 2", 24, 71, 233, 25)
    $Radio3 = GUICtrlCreateRadio("Antwort 3", 24, 94, 233, 24)
    $Radio4 = GUICtrlCreateRadio("Antwort 4", 24, 117, 233, 25)
    $Label2 = GUICtrlCreateLabel("60 Sekunden", 160, 160, 125, 26)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    $Group1 = GUICtrlCreateGroup("Zeit", 152, 142, 132, 49)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("Weiter", 24, 157, 113, 28, 0)
    $Group2 = GUICtrlCreateGroup("Fertig", 16, 142, 129, 49)
    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

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

    Case $Radio1
    Case $Radio2
    Case $Radio3
    Case $Radio4
    EndSwitch
    WEnd

    [/autoit]
  • Du musst Radio 1 in die selbe Gruppe packen wie die anderen 3 Radioboxen. Das Standardverhalten bei Radioboxen ist, dass immer nur eine aus einer Gruppe markiert werden darf, da die erste Radiobox aber ausserhalb der Gruppe ist bleibt diese markiert.

    EDIT: Da war name22 wohl einen Tick schneller