Tabitem

  • Hi
    Ich habe ein Hauptprogramm das aus 2 Unterprogrammen bestehn soll sozusagen. Ich habe mich mal mit Tabitem versucht. Funktioniert alles Prima. Doch wenn ich das Programm starte, steht im ersten Tab nichts drin bis ich den 2. angeklickt habe und dann wieder den ersten. Mein Code:

    [autoit]

    #include <GUIConstantsEx.au3>
    ;------------------------------
    GUIcreate("Hilfe")
    GUIsetstate(@sw_show)
    GUICtrlCreateTab(20,40, 350, 350)
    GUIctrlcreatetabitem("Mathet")
    GUIctrlcreatelabel("Hier kommt ein Programm für Mathe rein",50, 100, 300, 300)
    GUIctrlcreatetabitem("Deutsch")
    GUIctrlcreatelabel("Hier kommt ein Programm für Deutsch rein",50, 100, 300, 300)
    While 1
    $msg = GUIgetmsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GUI_EVENT_MINIMIZE
    endswitch
    Wend

    [/autoit]

    Kann mir jemand helfen bzw. sieht jemand einen Fehler?

    Grüße

  • so besser?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    ;------------------------------
    GUIcreate("Hilfe")
    GUICtrlCreateTab(20,40, 350, 350)
    GUIctrlcreatetabitem("Mathet")
    GUIctrlcreatelabel("Hier kommt ein Programm für Mathe rein",50, 100, 300, 300)
    GUIctrlcreatetabitem("Deutsch")
    GUIctrlcreatelabel("Hier kommt ein Programm für Deutsch rein",50, 100, 300, 300)
    GUIsetstate(@sw_show)
    While 1
    $msg = GUIgetmsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GUI_EVENT_MINIMIZE
    endswitch
    Wend

    [/autoit]

    xD...
    du darfst das gui erst zeigen, wenn alles da ist :P (außer du fügst manuell in der whileschleife etwas hinzu)

  • Ich hatte zwar gar nicht dich gemeint, aber wenn die die Problemstellung noch einmal durchliest, dann weißt du, was ich meine.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    ;------------------------------
    GUIcreate("Hilfe")
    GUIsetstate(@sw_show)
    GUICtrlCreateTab(20,40, 350, 350)
    GUIctrlcreatetabitem("Mathet")
    GUIctrlcreatelabel("Hier kommt ein Programm für Mathe rein",50, 100, 300, 300)
    GUIctrlcreatetabitem("Deutsch")
    GUIctrlcreatelabel("Hier kommt ein Programm für Deutsch rein",50, 100, 300, 300)
    GUIctrlcreatetabitem("") ;neue Zeile
    While 1
    $msg = GUIgetmsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GUI_EVENT_MINIMIZE
    endswitch
    Wend

    [/autoit]

    Natürlich ist es besser, zuerst alle Guis zu zeichnen, hat aber damit nichts zu tun.