Liste/Tabelle in ein Tab einbauen.

  • Hallo Leute !
    Ich möchte eine Liste/Tabelle in ein Tab einbauen.
    Jedoch wird mir die Liste/Tabelle in allen meinen Tabs angezeigt.

    Was mache Ich falsch ???

    Einmal editiert, zuletzt von mongobongo (28. September 2009 um 14:11)

  • Was du falsch gemacht hast weiss ich nicht - Es ist immer besser den Code zu schicken (und den in einem AutoIT Tag)

    also mein Vorschlag ist der folgende:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 371, 275, 192, 124)
    $Tab1 = GUICtrlCreateTab(8, 8, 353, 257)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Registerkarte1")
    $Label1 = GUICtrlCreateLabel("Liste1", 16, 40, 32, 17)
    $ListView1 = GUICtrlCreateListView("|||", 16, 64, 337, 193)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50)
    $ListView1_0 = GUICtrlCreateListViewItem("1|2|3|4", $ListView1)
    $TabSheet2 = GUICtrlCreateTabItem("Registerkarte2")
    $Label2 = GUICtrlCreateLabel("Liste2", 16, 40, 32, 17)
    $ListView2 = GUICtrlCreateListView("||", 16, 64, 337, 97)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
    $ListView2_0 = GUICtrlCreateListViewItem("1", $ListView2)
    $ListView2_1 = GUICtrlCreateListViewItem("2", $ListView2)
    $ListView2_2 = GUICtrlCreateListViewItem("3", $ListView2)
    $ListView2_3 = GUICtrlCreateListViewItem("4", $ListView2)
    $ListView2_4 = GUICtrlCreateListViewItem("5", $ListView2)
    $ListView2_5 = GUICtrlCreateListViewItem("6", $ListView2)
    $ListView2_6 = GUICtrlCreateListViewItem("7", $ListView2)
    $TabSheet3 = GUICtrlCreateTabItem("Registerkarte3")
    $Label3 = GUICtrlCreateLabel("Liste3", 16, 40, 32, 17)
    $ListView3 = GUICtrlCreateListView("||||", 16, 72, 257, 185)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 50)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]


    viel spaß beim rumexperimentieren ;)

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • Hallo mongobongo,

    und hier noch ein Beispiel im OnEvent-Modus:

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>

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

    Opt('GUIOnEventMode', 1)

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

    Global $main_GUI, $ok_button, $cancel_button
    _main()

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

    Func _main()
    ; The main GUI window has the 2 ok/cancel-buttons and two child GUIs
    $main_GUI = GUICreate("Multiple TABs",520,250,-1,-1, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX));BitOr($GUI_SS_DEFAULT_GUI,$WS_CLIPSIBLINGS))
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    $ok_button = GUICtrlCreateButton("OK",40,200,70,20)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKBOTTOM + $GUI_DOCKSIZE)
    GUICtrlSetOnEvent(-1, '_End')
    $cancel_button = GUICtrlCreateButton("Cancel",150,200,70,20)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKBOTTOM + $GUI_DOCKSIZE)
    GUICtrlSetOnEvent(-1, '_End')
    $tab = GUICtrlCreateTab(10,10,500,190)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    $child11tab = GUICtrlCreateTabItem("Child1_1")
    $listview1 = GUICtrlCreateListView("Col1|Col2", 15, 35, 490, 155, -1, $WS_EX_CLIENTEDGE)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    GUICtrlCreateListViewItem("Tab1|blabla", $listview1)
    GUICtrlCreateListViewItem("bin auf 1. Tab|blub", $listview1)
    $child12tab = GUICtrlCreateTabItem("Child1_2")
    $listview2 = GUICtrlCreateListView("Col1|Col2", 15, 35, 490, 155, -1, $WS_EX_CLIENTEDGE)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    GUICtrlCreateListViewItem("Bin auf Tab 2|ich auch", $listview2)
    GUICtrlCreateTabItem("")
    GUISetState()
    While 1
    Sleep(100000)
    WEnd
    EndFunc ;==>_main

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

    Func _End()
    GUIDelete($main_GUI)
    Exit
    EndFunc ;==>_End

    [/autoit]

    Wenn du andere Controls auf (in) einem TabControl darstellen willst, ist es wichtig dass du die Controls auch direkt nach dem jeweiligen TabItems erstellst. Ausserdem ist es wichtig das TabControl mit

    [autoit]

    GUICtrlCreateTabItem("")

    [/autoit]

    zu beenden,

    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (27. September 2009 um 22:36)

  • Hi,
    wenn du deine GUI mit KODA erstellst, musst du darauf achten, daß du sofort nach dem Erstellen des Tabs die Liste dort einfügst. Erst danach die weiteren Tabs erstellen!