GUI aktuallisieren

  • Hi,

    ich erstelle in folgendem Script neue TabItems mit Listbox und Editbox. Geht soweit auch Problemlos bist auf den Punkt, das das erste TabItem erstmal keine Listbox und keine Editbox anzeigt. Erst wenn man auf ein zweites Tab wechselt und dann wieder zurück auf das erste sieht man die zwei boxen. Scheinbar wird beim erstellen der Boxen auf dem ersten TabItem dieses nicht aktuallisiert und daher nichts angezeigt. Gibt es eine Möglichkeit die aktuallisierung des Tabs durchzuführen?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <String.au3>
    OnAutoItExitRegister("killfunc")

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

    $IP = @IPAddress1
    $Port = 56543

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

    #Region ### START Koda GUI section ### Form=
    $Chatfenster = GUICreate("Form1", 600, 400)
    $Chattab = GUICtrlCreateTab(0, 0, 600, 400)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    TCPStartup()
    $MainSocket = TCPListen($IP, $Port)
    If $MainSocket = -1 Then Exit
    While 1
    $ConnectedSocket = TCPAccept($MainSocket)
    If $ConnectedSocket >= 0 Then
    While 1
    $recv = TCPRecv($ConnectedSocket, 2048)
    If @error Then ExitLoop
    If $recv <> "" Then
    MsgBox(0, "", $recv)
    $user = _StringBetween($recv, "<user>", "</user>")
    GUICtrlCreateTabItem($user[0])
    $List1 = GUICtrlCreateList("", 10, 30, 580, 280)
    $Edit1 = GUICtrlCreateEdit("", 10, 310, 580, 80)
    GUICtrlSetData(-1, $user[0])
    TCPCloseSocket($ConnectedSocket)
    ExitLoop
    EndIf
    WEnd
    EndIf
    WEnd

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

    Func killfunc()
    TCPCloseSocket($ConnectedSocket)
    TCPShutdown()
    EndFunc ;==>killfunc

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

    Einmal editiert, zuletzt von chip (16. August 2010 um 12:11)

  • Wie wär's denn, wenn du, nachdem du das TabItem erstellt hast, nochmal das hier ausführst?

    [autoit]

    GUICtrlCreateTabItem("")

    [/autoit]
    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <String.au3>
    #include <GUITab.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Chatfenster = GUICreate("Form1", 600, 400)
    $Chattab = GUICtrlCreateTab(0, 0, 600, 400)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    $LastTab = GUICtrlCreateTabItem("Test")
    GUICtrlCreateTabItem("")

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

    $List1 = GUICtrlCreateList("", 10, 30, 580, 280)
    $Edit1 = GUICtrlCreateEdit("", 10, 310, 580, 80)
    GUICtrlSetData(-1, "Test")

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

    While GUIGetMsg() <> -3
    WEnd

    [/autoit]