Menü wird beim Starten nicht aktualisiert

  • Hallo ich habe mir ein AuswahlMenü gebaut,
    leider wird wenn es gestartet wird immer die letzte Seite (Button2)
    angezeigt. Und nicht die Erste Seite (Button 1)

    Erst wenn ich mit den Maustaste über die Checkboxen drüberfahre
    sieht man den Text von Button 1.

    Ist es möglich das Menü beim Aufruf sofort mit der Button 1 Seite zu starten.
    (Button 1 -> Hide, Alle Checkboxen und Icons von 1 - 10 sichtbar)


    Vielen Dank


    [Blockierte Grafik: http://www.xtupload.com/new/image-C26B_49D8A7B3.jpg]


    Spoiler anzeigen
    [autoit]

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

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

    $Menu = GUICreate("DEMO-MENÜ by XTC99", 322, 243, -1, -1)
    $Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 64, 40, 90, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 64, 80, 90, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 64, 120, 90, 17)
    $Checkbox4 = GUICtrlCreateCheckbox("Checkbox4", 64, 160, 90, 17)
    $Checkbox5 = GUICtrlCreateCheckbox("Checkbox5", 64, 200, 90, 17)
    $Checkbox6 = GUICtrlCreateCheckbox("Checkbox6", 224, 40, 90, 17)
    $Checkbox7 = GUICtrlCreateCheckbox("Checkbox7", 224, 80, 90, 17)
    $Checkbox8 = GUICtrlCreateCheckbox("Checkbox8", 224, 120, 90, 17)
    $Checkbox9 = GUICtrlCreateCheckbox("Checkbox9", 224, 160, 90, 17)
    $Checkbox10 = GUICtrlCreateCheckbox("Checkbox10", 224, 200, 90, 17)
    $Icon1 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -47, 16, 32, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon2 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -16, 16, 72, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon3 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -22, 16, 112, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon4 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -87, 16, 152, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon5 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -117, 16, 192, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon6 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -93, 176, 32, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon7 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -105, 176, 72, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon8 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -62, 176, 112, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon9 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -66, 176, 152, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon10 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -112, 176, 192, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Checkbox11 = GUICtrlCreateCheckbox("Checkbox11", 64, 40, 90, 17)
    $Checkbox12 = GUICtrlCreateCheckbox("Checkbox12", 64, 80, 90, 17)
    $Checkbox13 = GUICtrlCreateCheckbox("Checkbox13", 64, 120, 90, 17)
    $Checkbox14 = GUICtrlCreateCheckbox("Checkbox14", 64, 160, 90, 17)
    $Checkbox15 = GUICtrlCreateCheckbox("Checkbox15", 64, 200, 90, 17)
    $Checkbox16 = GUICtrlCreateCheckbox("Checkbox16", 224, 40, 90, 17)
    $Checkbox17 = GUICtrlCreateCheckbox("Checkbox17", 224, 80, 90, 17)
    $Checkbox18 = GUICtrlCreateCheckbox("Checkbox18", 224, 120, 90, 17)
    $Checkbox19 = GUICtrlCreateCheckbox("Checkbox19", 224, 160, 90, 17)
    $Checkbox20 = GUICtrlCreateCheckbox("Checkbox20", 224, 200, 90, 17)
    $Icon11 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -57, 16, 32, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon12 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -26, 16, 72, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon13 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -32, 16, 112, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon14 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -97, 16, 152, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon15 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -127, 16, 192, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon16 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -113, 176, 32, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon17 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -115, 176, 72, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon18 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -72, 176, 112, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon19 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -76, 176, 152, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon20 = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -122, 176, 192, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Button1 = GUICtrlCreateButton("Button 1", 40, 8, 84, 17, 0)
    $Button2 = GUICtrlCreateButton("Button 2", 176, 8, 84, 17, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    For $i = $Checkbox1 To $Checkbox20
    GUICtrlSetState($i, $GUI_Hide)
    Next
    For $i = $Icon1 To $Icon20
    GUICtrlSetState($i, $GUI_Hide)
    Next
    GUICtrlSetState($Button1, $GUI_Disable)
    GUICtrlSetState($Button2, $GUI_Enable)
    For $i = $Checkbox1 To $Checkbox10
    GUICtrlSetState($i, $GUI_SHOW)
    Next
    For $i = $Icon1 To $Icon10
    GUICtrlSetState($i, $GUI_SHOW)
    Next
    Case $Button2
    For $i = $Checkbox1 To $Checkbox20
    GUICtrlSetState($i, $GUI_Hide)
    Next
    For $i = $Icon1 To $Icon20
    GUICtrlSetState($i, $GUI_Hide)
    Next
    GUICtrlSetState($Button1, $GUI_Enable)
    GUICtrlSetState($Button2, $GUI_Disable)
    For $i = $Checkbox11 To $Checkbox20
    GUICtrlSetState($i, $GUI_SHOW)
    Next
    For $i = $Icon11 To $Icon20
    GUICtrlSetState($i, $GUI_SHOW)
    Next
    EndSwitch
    WEnd

    [/autoit]

    ----------------------------------------------------------------------------------------------------------------------
    Früher musste man Drachen töten und konnte die Jungfrau heiraten.
    Heute gibt es keine Jungfrauen mehr, man muss den Drachen heiraten!

    Einmal editiert, zuletzt von XTC99 (6. April 2009 um 15:30)

  • Ehm die Controls der zweiten Seite überdecken die der ersten Seite.. also musst du schon direkt beim erstellen der Gui die zweite Seite verstecken (GuiCtrlSetState(-1, $Gui_Hide)..

  • Danke, kannst du das eventuell mit einem Beispiel erklären ?

    ----------------------------------------------------------------------------------------------------------------------
    Früher musste man Drachen töten und konnte die Jungfrau heiraten.
    Heute gibt es keine Jungfrauen mehr, man muss den Drachen heiraten!

  • Ehm ja ich glaube das is wesentlich einfacher als du denkst :D
    Hmm Beispiel?
    Stell dir vor du willst FireFox öffnen..Alles schön und gut doch nun öffnet sich plötzlich der Internet Explorer im Vordergrund... Was machstu?
    Da du den Internet Explorer nicht magst und er dir die Sicht auf FireFox versperrt, minimierst (hidest) du ihn um den Anblick nicht mehr ertragen zu müssen...

    Kurztext: Die zweite Seite >verdeckt< die erste Seite da du die zweite seite als letztes erstellt hast und muss deswegen erstmal wieder verschwinden =>
    GuiCtrlSetState(-1, $Gui_Hide)

    Spoiler anzeigen
    [autoit]

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

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

    Dim $Checkbox[21], $Icon[21]

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

    $Menu = GUICreate("DEMO-MENÜ by XTC99", 322, 243, -1, -1)
    For $i = 1 To Ubound($CheckBox) -1
    $Checkbox[$i] = GUICtrlCreateCheckbox("Checkbox" & $i, 64 + ($i > 5)*($i < 11) * 160 + ($i > 15) * 160, 40 * Mod($i, 5)+(Mod($i,5) = 0)*200, 90, 17)
    If $i > 10 Then GuiCtrlSetState(-1, $Gui_Hide)
    Next

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

    For $i = 0 To 1
    $Icon[1+ $i * 10] = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -47 - $i * 10, 16, 32, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon[2+ $i * 10] = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -16 - $i * 10, 16, 72, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon[3+ $i * 10] = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -22 - $i * 10, 16, 112, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon[4+ $i * 10] = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -87 - $i * 10, 16, 152, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon[5+ $i * 10] = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -117- $i * 10, 16, 192, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon[6+ $i * 10] = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -93 - $i * 10, 176, 32, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon[7+ $i * 10] = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -105- $i * 10, 176, 72, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon[8+ $i * 10] = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -62 - $i * 10, 176, 112, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon[9+ $i * 10] = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -66 - $i * 10, 176, 152, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $Icon[10+ $i * 10] = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -112- $i * 10, 176, 192, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    Next

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

    For $i = 11 To 20
    GuiCtrlSetState($Icon[$i], $Gui_Hide)
    Next
    $Button1 = GUICtrlCreateButton("Button 1", 40, 8, 84, 17, 0)
    GuiCtrlSetState(-1, $Gui_Disable)
    $Button2 = GUICtrlCreateButton("Button 2", 176, 8, 84, 17, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    For $i = 0 To (Ubound($Checkbox)-1 / 2)
    GUICtrlSetState($CheckBox[$i], $GUI_Show)
    GUICtrlSetState($Icon[$i], $GUI_Show)
    Next
    For $i = 11 To Ubound($Checkbox)-1
    GUICtrlSetState($CheckBox[$i], $GUI_Hide)
    GUICtrlSetState($Icon[$i], $GUI_Hide)
    Next
    GUICtrlSetState($Button1, $GUI_DisAble)
    GUICtrlSetState($Button2, $GUI_Enable)
    Case $Button2
    For $i = 0 To (Ubound($Checkbox)-1 / 2)
    GUICtrlSetState($CheckBox[$i], $GUI_Hide)
    GUICtrlSetState($Icon[$i], $GUI_Hide)
    Next
    For $i = 11 To Ubound($Checkbox)-1
    GUICtrlSetState($CheckBox[$i], $GUI_Show)
    GUICtrlSetState($Icon[$i], $GUI_Show)
    Next
    GUICtrlSetState($Button1, $GUI_Enable)
    GUICtrlSetState($Button2, $GUI_Disable)
    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von ChaosKeks (5. April 2009 um 16:11)

  • Danke, jetzt weiss ich wie es geht

    Vielen Dank für die Hilfe

    PS: Dein Code ist mir noch ein bischen zu komplitziert zumindes das mit den Checkboxen

    [autoit]

    For $i = 11 To 20
    GUICtrlSetState(Eval("Checkbox" & $i), $GUI_Hide)
    GUICtrlSetState(Eval("Icon" & $i), $GUI_Hide)
    Next
    GUICtrlSetState($Button1, $GUI_Disable)

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

    GUISetState(@SW_SHOW)

    [/autoit]

    ----------------------------------------------------------------------------------------------------------------------
    Früher musste man Drachen töten und konnte die Jungfrau heiraten.
    Heute gibt es keine Jungfrauen mehr, man muss den Drachen heiraten!