Radio-ID ?

  • Hallo,
    Ich habe ein kleines Problemchen.

    Ich habe eine GUI mit unterschiedlichen Radios in verschiedenen Groups gemacht.
    Nun habe ich das Problem, dass wenn ich aus Gruppe Z einen Button anklicke, gleichzeitig einer in Gruppe Y "checked" ist.

    Wie mache ich also, dass in der gesamten GUI nur ein einzige RadioButten checked sein kann ?

    MfG

    [autoit]

    If ProcessExists("Sig.exe") Then
    ConsoleWrite("@@ mfg")
    Else
    ConsoleWrite("!! -no sig-")
    EndIf

    [/autoit]

    Einmal editiert, zuletzt von RechterWinkel (23. August 2010 um 19:46) aus folgendem Grund: Präfix

    • Offizieller Beitrag

    Wenn du nur einen Radio gecheckt haben willst, warum benutzt du dann mehrere Gruppen? Klingt unlogisch.

  • Das Script an sich ist noch nicht im Ansatz fertig, ich habe erstmal nur die GUI. :D

    Source
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $ColorWriter = GUICreate("Color Writer", 361, 281, 192, 124)
    $Vordefiniert = GUICtrlCreateGroup("Vordefiniert", 8, 8, 345, 73)
    $Grau = GUICtrlCreateRadio("Grau", 24, 24, 49, 17)
    $Blau = GUICtrlCreateRadio("Blau", 24, 40, 49, 17)
    $Cyan = GUICtrlCreateRadio("Cyan", 24, 56, 49, 17)
    $Dunkelgrau = GUICtrlCreateRadio("Dunkelgrau", 80, 24, 81, 17)
    $Dunkelgruen = GUICtrlCreateRadio("Dunkelgruen", 80, 40, 81, 17)
    $Hellgruen = GUICtrlCreateRadio("Hellgruen", 80, 56, 81, 17)
    $Schwarz = GUICtrlCreateRadio("Schwarz", 168, 24, 65, 17)
    $Hellgrau = GUICtrlCreateRadio("Hellgrau", 168, 40, 65, 17)
    $Magenta = GUICtrlCreateRadio("Magenta", 168, 56, 65, 17)
    $Braun = GUICtrlCreateRadio("Braun", 240, 24, 57, 17)
    $Orange = GUICtrlCreateRadio("Orange", 240, 40, 57, 17)
    $Pink = GUICtrlCreateRadio("Pink", 240, 56, 57, 17)
    $Rot = GUICtrlCreateRadio("Rot", 296, 24, 49, 17)
    $Weiss = GUICtrlCreateRadio("Weiss", 296, 40, 49, 17)
    $Gelb = GUICtrlCreateRadio("Gelb", 296, 56, 49, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $EigeneFarben = GUICtrlCreateGroup("Eigene Farben", 8, 88, 345, 73)
    $RGB = GUICtrlCreateRadio("RGB", 16, 120, 49, 17)
    $R = GUICtrlCreateInput("R", 64, 120, 73, 21)
    $G = GUICtrlCreateInput("G", 160, 120, 73, 21)
    $B = GUICtrlCreateInput("B", 256, 120, 73, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Weiteres = GUICtrlCreateGroup("Weiteres", 8, 168, 345, 81)
    $Nickverlaengerung = GUICtrlCreateCheckbox("Nickverlaengerung", 16, 200, 113, 17)
    $NV = GUICtrlCreateInput("NV", 128, 200, 217, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $TheAnswer42 = GUICtrlCreateLabel("© The Answer 42", 128, 256, 100, 17)
    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]

    EndSwitch
    WEnd

    [/autoit]

    Edit:

    >Raupi: Für die Optik. :)

    [autoit]

    If ProcessExists("Sig.exe") Then
    ConsoleWrite("@@ mfg")
    Else
    ConsoleWrite("!! -no sig-")
    EndIf

    [/autoit]
    • Offizieller Beitrag

    So funzt es und die Optik ist auch gut. :D

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $ColorWriter = GUICreate("Color Writer", 361, 281, 192, 124)
    $Vordefiniert = GUICtrlCreateGroup("Vordefiniert", 8, 8, 345, 73)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $EigeneFarben = GUICtrlCreateGroup("Eigene Farben", 8, 88, 345, 73)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Weiteres = GUICtrlCreateGroup("Weiteres", 8, 168, 345, 81)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Grau = GUICtrlCreateRadio("Grau", 24, 24, 49, 17)
    $Blau = GUICtrlCreateRadio("Blau", 24, 40, 49, 17)
    $Cyan = GUICtrlCreateRadio("Cyan", 24, 56, 49, 17)
    $Dunkelgrau = GUICtrlCreateRadio("Dunkelgrau", 80, 24, 81, 17)
    $Dunkelgruen = GUICtrlCreateRadio("Dunkelgruen", 80, 40, 81, 17)
    $Hellgruen = GUICtrlCreateRadio("Hellgruen", 80, 56, 81, 17)
    $Schwarz = GUICtrlCreateRadio("Schwarz", 168, 24, 65, 17)
    $Hellgrau = GUICtrlCreateRadio("Hellgrau", 168, 40, 65, 17)
    $Magenta = GUICtrlCreateRadio("Magenta", 168, 56, 65, 17)
    $Braun = GUICtrlCreateRadio("Braun", 240, 24, 57, 17)
    $Orange = GUICtrlCreateRadio("Orange", 240, 40, 57, 17)
    $Pink = GUICtrlCreateRadio("Pink", 240, 56, 57, 17)
    $Rot = GUICtrlCreateRadio("Rot", 296, 24, 49, 17)
    $Weiss = GUICtrlCreateRadio("Weiss", 296, 40, 49, 17)
    $Gelb = GUICtrlCreateRadio("Gelb", 296, 56, 49, 17)

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

    $RGB = GUICtrlCreateRadio("RGB", 16, 120, 49, 17)
    $R = GUICtrlCreateInput("R", 64, 120, 73, 21)
    $G = GUICtrlCreateInput("G", 160, 120, 73, 21)
    $B = GUICtrlCreateInput("B", 256, 120, 73, 21)

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

    $Nickverlaengerung = GUICtrlCreateCheckbox("Nickverlaengerung", 16, 200, 113, 17)
    $NV = GUICtrlCreateInput("NV", 128, 200, 217, 21)
    $TheAnswer42 = GUICtrlCreateLabel("© The Answer 42", 128, 256, 100, 17)
    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]

    EndSwitch
    WEnd

    [/autoit]

    Edit: Wenn du die Gruppen nur für die Optik brauchst, dann erstelle sie vor den Controls. Wenn die Controls innerhalb der Gruppe definiert werden dann wird auch die besondere Eigenschaft der Gruppierung benutzt.