Vordergund mit checkbox

  • Hi, wie kann ich Gui On Top machen in dem ich ein Checkbox checke.
    Ich dachte so es geht nicht:

    [autoit]

    Case $cb1
    If BitAND(GUICtrlRead($cb1), $GUI_CHECKED) Then
    GUICtrlSetState($form1, $GUI_ONTOP))
    EndIf

    [/autoit]

    bei $form1 bin ich net sicher.. da steht ja controlID

    2. Frage. Wie mach ich ONTOP wieder weg? ^^

    Einmal editiert, zuletzt von MaZy (24. März 2009 um 18:39)

  • [autoit]

    #include <GUIConstants.au3>

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

    $gui = GUICreate('CB-Test mit CB3 u. CB4 als Radio')
    $cb1 = GUICtrlCreateCheckbox('Vordergrund?', 20, 20, 100)
    $cb2 = GUICtrlCreateCheckbox('Install 3 od. 4?', 20, 50, 100)
    $cb3 = GUICtrlCreateCheckbox('Check 3 (wenn 3, dann nicht 4)', 35, 80, 180)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $cb4 = GUICtrlCreateCheckbox('Check 4 (wenn 4, dann nicht 3)', 35, 110, 180)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $cb5 = GUICtrlCreateCheckbox('Check 5', 20, 140, 60)
    $cb6 = GUICtrlCreateCheckbox('Check 6', 20, 170, 60)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $cb1
    If GUICtrlRead($cb1) = $GUI_CHECKED Then
    MsgBox(0,"","Vordergrund gesetzt")
    EndIf
    Case $cb2
    If BitAND(GUICtrlRead($cb2), $GUI_CHECKED) Then
    GUICtrlSetState($cb3, $GUI_ENABLE)
    GUICtrlSetState($cb4, $GUI_ENABLE)
    Else
    GUICtrlSetState($cb3, $GUI_DISABLE)
    GUICtrlSetState($cb4, $GUI_DISABLE)
    EndIf
    Case $cb3
    If BitAND(GUICtrlRead($cb3), $GUI_CHECKED) Then
    GUICtrlSetState($cb4, $GUI_UNCHECKED)
    Else
    GUICtrlSetState($cb4, $GUI_CHECKED)
    EndIf
    Case $cb4
    If BitAND(GUICtrlRead($cb4), $GUI_CHECKED) Then
    GUICtrlSetState($cb3, $GUI_UNCHECKED)
    Else
    GUICtrlSetState($cb3, $GUI_CHECKED)
    EndIf
    Case $cb5

    Case $cb6

    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]


    Ganze Fenster (AutoIT).
    Das ist ne Testscript.
    Das eigentliche hab ich auf dem Laptop. Aber da ist ist auch nur ein cb1 mehr nicht. Weil der rest macht eig was anderes

    • Offizieller Beitrag

    Meinst Du so:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    $gui = GUICreate('CB-Test mit CB3 u. CB4 als Radio')
    $cb1 = GUICtrlCreateCheckbox('Vordergrund?', 20, 20, 100)
    $cb2 = GUICtrlCreateCheckbox('Install 3 od. 4?', 20, 50, 100)
    $cb3 = GUICtrlCreateCheckbox('Check 3 (wenn 3, dann nicht 4)', 35, 80, 180)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $cb4 = GUICtrlCreateCheckbox('Check 4 (wenn 4, dann nicht 3)', 35, 110, 180)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $cb5 = GUICtrlCreateCheckbox('Check 5', 20, 140, 60)
    $cb6 = GUICtrlCreateCheckbox('Check 6', 20, 170, 60)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $cb1
    If BitAND(GUICtrlRead($cb1), $GUI_CHECKED) Then
    WinSetOnTop($gui, '', 1)
    Else
    WinSetOnTop($gui, '', 0)
    EndIf
    Case $cb2
    If BitAND(GUICtrlRead($cb2), $GUI_CHECKED) Then
    GUICtrlSetState($cb3, $GUI_ENABLE)
    GUICtrlSetState($cb4, $GUI_ENABLE)
    Else
    GUICtrlSetState($cb3, $GUI_DISABLE)
    GUICtrlSetState($cb4, $GUI_DISABLE)
    EndIf
    Case $cb3
    If BitAND(GUICtrlRead($cb3), $GUI_CHECKED) Then
    GUICtrlSetState($cb4, $GUI_UNCHECKED)
    Else
    GUICtrlSetState($cb4, $GUI_CHECKED)
    EndIf
    Case $cb4
    If BitAND(GUICtrlRead($cb4), $GUI_CHECKED) Then
    GUICtrlSetState($cb3, $GUI_UNCHECKED)
    Else
    GUICtrlSetState($cb3, $GUI_CHECKED)
    EndIf
    Case $cb5

    Case $cb6

    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • Hier noch ein Beispiel mit BitOrx:

    [autoit]


    #include<GUIConstants.au3>

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

    Dim $state1 = $GUI_ENABLE
    Dim $state2 = $GUI_ENABLE

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

    GUICreate("Checkboxen", 175, 150)
    $Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 10, 40)
    $Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 10, 70)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Select
    Case $msg = $Checkbox1
    $state2 = BitXOR($state2, $GUI_ENABLE, $GUI_DISABLE)
    GUICtrlSetState($Checkbox2, $state2)
    Case $msg = $Checkbox2
    $state1 = BitXOR($state1, $GUI_ENABLE, $GUI_DISABLE)
    GUICtrlSetState($Checkbox1, $state1)
    EndSelect
    Wend
    ; Ende

    [/autoit]