GUICtrlSetState - während der Laufzeit Control disablen / enablen

  • Hallo!

    Ich habe eine Checkbox. Immer wenn ich diese anklicke will ich ein GUICtrlCreateInput disablen bzw. enablen je nach state der Checkbox.
    Hier mal meine Codfragmente:
    Erzeugen der Controls:

    [autoit]


    GUICtrlCreateLabel("Number of Coloums:", 5, $adjusty )
    $numberOfColCtrl = GUICtrlCreateInput($offset1x, 100, $adjusty-4 , 70, 20, $ES_CENTER)
    $updown_speedx3 = GUICtrlCreateUpdown($numberOfColCtrl)
    GUICtrlSetState($numberOfColCtrl,$GUI_DISABLE)

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

    $adjusty = $adjusty + 15
    $CheckboxSame = GUICtrlCreateCheckbox("#Rows = #Coloums", 5, $adjusty, 120, 25)
    GUICtrlSetState($CheckboxSame,$GUI_CHECKED)

    [/autoit]


    Also bis hierher funktioniert der Code, d.h. die Controls werden richtig erstellt, die Checkbox ist angehakt und das GUICtrlCreateInput ist disabled

    Und hier die Funktion die ausgeführt wird wenn die Checkbox angeklickt wird:

    [autoit]


    Func CheckboxSameOnEvent()
    If GUICtrlRead( $CheckboxSame) == True Then
    GUICtrlSetState($numberOfColCtrl,$GUI_DISABLE)
    Else
    GUICtrlSetState($numberOfColCtrl,$GUI_ENABLE)
    EndIf
    EndFunc

    [/autoit]


    Ausgeführt wird die Funktion (habs mit einer MessageBox getestet). Nur irgendwie scheint GUICtrlSetState während der Laufzeit nicht zu funktionieren.

    Lg Bow

    Einmal editiert, zuletzt von Bow (18. September 2009 um 13:41)

  • Danke das wars!! D.h. so wie ich das IF geschreiben habe war der Wert immer gleich und daher habe ich nie einen Zustandswechsel gesehen,korrekt?

  • Ich würde nicht nach Checked/Unchecked gehen, sondern jedes mal wenn die Box angeklickt wird ein Event erzeugen.