TabItems anzeigen/verstecken

  • Hallo,

    ich habe eine Gui auf der sich mehrere TabItems befinden und möchte diese ein/ausblenden. Das Problem ist, das ich bislang jedes mal die Elemente auf den TabItems neu erstellen musste und es dadurch zu Anzeigefehlern kam. Da ich bislang noch nichts gefunden habe wodurch ich dies vermeiden konnte, würde ich mich über einen kleinen Denkanstoß und etwas Hilfe freuen :)

    MfG

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.8.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    #include <GUIConstants.au3>
    Global $i=True
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 443, 193, 125)
    $Button1 = GUICtrlCreateButton("Button1", 0, 0, 75, 25, 0)
    $Menu_Ansicht = GUICtrlCreateMenu("Ansicht")
    $Tabclose2 = GUICtrlCreateMenuItem("Tab 2", $Menu_Ansicht)
    $Tabclose3 = GUICtrlCreateMenuItem("Tab 3", $Menu_Ansicht)
    $Tabclose4 = GUICtrlCreateMenuItem("Tab 4", $Menu_Ansicht)
    $Tab1 = GUICtrlCreateTab(8, 32, 609, 401)
    $TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
    $List1 = GUICtrlCreateList("", 144, 224, 121, 97)
    $TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
    $Edit1 = GUICtrlCreateEdit("", 112, 184, 185, 89)
    GUICtrlSetData(-1, "Edit1")
    $TabSheet3 = GUICtrlCreateTabItem("TabSheet3")
    $Input1 = GUICtrlCreateInput("Input1", 128, 160, 121, 21)
    $TabSheet4 = GUICtrlCreateTabItem("TabSheet4")
    $Button2 = GUICtrlCreateButton("Button1", 232, 232, 75, 25, 0)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

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

    case $Tabclose2
    if $i=True then
    GUICtrlSetState($Tabclose2, $GUI_CHECKED)
    GUICtrlDelete($TabSheet2)
    $i=False
    else
    $TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
    $List1 = GUICtrlCreateList("", 144, 224, 121, 97)
    $i=True
    GUICtrlSetState($Tabclose2, $GUI_UNCHECKED)
    endif
    case $Tabclose4
    EndSwitch
    WEnd

    [/autoit]
  • BugFix
    Ich habe die Suchfunktion benutzt aber nichts passendes gefunden. Es gibt einen Beitrag bei dem es darum geht ein TabItem zu sperren um dieses nicht mehr aufrufen zu können, jedoch habe ich nichts gefunden um ein TabItem auszublenden um dieses nicht mehr sehen zu können.

  • Es ging mir dabei um eine gewisse Übersichtlichkeit da sich einige Tabs auf meiner Gui befinden welche durch ein sperren ja immer noch angezeigt werden. Auf den TabItems befinden sich diverse Funktionen die nicht immer benötigt werden und daher auch nicht immer eingeblendet sein müssten.