hilfe bei variabler combobox

  • Hallo,
    ich bin beim rumbasteln mal wieder auf ein problem gestoßen.

    ich wollte eine combobox mit variablen inhalt machen. den inhalt wollte ich über radio buttons ändern.

    mein code sieht bis jetzt so aus :

    bei dem code kämen später 4 radio buttons hin,oder irgendwas,mitdem ich das ändern kann.der rest des codes was passiert,wenn der teil ausgewählt ist fehlt noch.

    zur zeit sieht es so aus das es übelst flackert wenn ich das so mach,bzw nur der button richtig geht,de in der while schleife weiter oben ist.

    hat jemand einen tipp wie ich das am besten verwirklichen kann?
    wäre für jede hilfe dankbar

    Einmal editiert, zuletzt von Samuel (4. September 2009 um 10:39)

    • Offizieller Beitrag

    Dein 1. Fehler ist, das du GUIOnEventMode und den MessageLoopMode nicht zur gleichen Zeit benutzen kannst.
    2. Fehler ist die Case Abfrage, so funktioniert das nie.
    Habe dein Script mal auf den MessageLoopMode umgebaut.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>

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

    GUICreate("Auswahl", 300, 75)
    $combo = GUICtrlCreateCombo("", 25, 5, 250, 20)
    GUICtrlSetData($combo, "")
    $radio1 = GUICtrlCreateRadio("Ja", 100, 40, 45, 20)
    $radio2 = GUICtrlCreateRadio("Nein", 150, 40, 45, 20)
    GUICtrlSetState($radio1, $GUI_CHECKED)

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

    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $radio2
    If BitAND(GUICtrlRead($radio2), $GUI_CHECKED) Then
    GUICtrlSetData($combo, "|John|Tom|Anja|Ken|Joe|Sophie|")

    EndIf
    Case $radio1
    If BitAND(GUICtrlRead($radio1), $GUI_CHECKED) Then
    GUICtrlSetData($combo, "|Tom|Joe|Ken|")
    EndIf
    Case $combo
    $read = GUICtrlRead($combo)
    MsgBox(0,"Ausgewählt wurde",$read)
    EndSwitch
    WEnd

    [/autoit]
  • hab vielen dank für deine nächtliche hilfe,das ging ja echt fix.
    funktioniert alles super. muste nur meinen

    Code
    GUICtrlSetState($radio1, $GUI_CHECKED)


    wieder rausnehmen,der funktionierte nicht wirklich. aber ich denke der ist bei mir eh fehl am platz gewesen. war nur vom testen noch übrig.

    hab nochmal vielen dank.