Eine etwas anderes TabControl

    • Offizieller Beitrag

    Hi,

    kannst du doch trotzdem als normale GUI machen, oder halt nachbauen. Habe mal angefangen

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiTreeView.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>

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

    Example()

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

    Func Example()
    Local $tab, $tab0, $tab0OK, $tab0input
    Local $tab1, $tab1combo, $tab1OK
    Local $tab2, $tab2OK, $msg, $gui,$hTreeView

    $gui = GUICreate("My GUI Tab", 250, 150); will create a dialog box that when displayed is centered

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

    GUISetBkColor(0x00E0FFFF)
    GUISetFont(9, 300)

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

    $tab = GUICtrlCreateTab(10, 10, 200, 120)
    Local $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES)

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

    $hTreeView = _GUICtrlTreeView_Create($GUI, 10, 10, 140, 100, $iStyle, $WS_EX_CLIENTEDGE)
    GUISetState()

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

    ;~ GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

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

    _GUICtrlTreeView_BeginUpdate($hTreeView)
    For $x = 1 To 3
    $hItem = _GUICtrlTreeView_Add($hTreeView, 0, StringFormat("[%02d] New Item", $x))
    For $y = 1 To 3
    _GUICtrlTreeView_AddChild($hTreeView, $hItem, StringFormat("[%02d] New Child", $y))
    Next
    Next
    _GUICtrlTreeView_EndUpdate($hTreeView)

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

    GUICtrlCreateTabItem(""); end tabitem definition

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

    GUICtrlCreateLabel("Click on tab and see the title", 20, 130, 250, 20)
    GUICtrlCreateButton("Click ", 200, 130, 50, 20)

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

    GUISetState()

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()

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

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If $msg = $tab Then
    ; display the clicked tab
    WinSetTitle("My GUI Tab", "", "My GUI Tab" & GUICtrlRead($tab))
    EndIf
    WEnd
    EndFunc ;==>Example

    [/autoit]

    Mega

  • is doch simpel:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    $Form1 = GUICreate("Form1", 225, 440, 193, 125)
    $Tab1 = GUICtrlCreateTab(8, 8, 201, 417)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("")
    $Checkbox1 = GUICtrlCreateCheckbox("Checkbox", 24, 24, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox2 = GUICtrlCreateCheckbox("Checkbox", 24, 48, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox3 = GUICtrlCreateCheckbox("Checkbox", 24, 72, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox4 = GUICtrlCreateCheckbox("Checkbox", 24, 96, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox5 = GUICtrlCreateCheckbox("Checkbox", 24, 120, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox6 = GUICtrlCreateCheckbox("Checkbox", 24, 144, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox7 = GUICtrlCreateCheckbox("Checkbox", 24, 168, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox8 = GUICtrlCreateCheckbox("Checkbox", 24, 192, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox9 = GUICtrlCreateCheckbox("Checkbox", 24, 216, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox0 = GUICtrlCreateCheckbox("Checkbox", 24, 240, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox1 = GUICtrlCreateCheckbox("Checkbox", 24, 264, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox2 = GUICtrlCreateCheckbox("Checkbox", 24, 288, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox3 = GUICtrlCreateCheckbox("Checkbox", 24, 312, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox4 = GUICtrlCreateCheckbox("Checkbox", 24, 336, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox5 = GUICtrlCreateCheckbox("Checkbox", 24, 360, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Checkbox6 = GUICtrlCreateCheckbox("Checkbox", 24, 384, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUISetState()

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

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

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

    EndSwitch
    WEnd

    [/autoit]

    Padmak

  • Dazu wäre meine Frage, wie du dann umschalten willst?
    so wie du das schilderst, ist es eigentlich sinnlos^^

    Padmak

  • Ohne Tbas geht es etwa so: (Anstatt des Tabs werden GUIs verwendet ;) )

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    ;~ Global Const $WS_EX_CONTROLPARENT = 0x10000

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

    Func _TabCreate($GUI, $x,$y,$w,$h)
    Local $array[5] = [$GUI, $x,$y,$w,$h]
    Return $array
    EndFunc

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

    Func _TabGUI(ByRef $TabAr)
    ReDim $TabAr[UBound($TabAr)+1]
    $TabAr[UBound($TabAr)-1] = GUICreate("tabgui",$TabAr[3],$TabAr[4],$TabAr[1],$TabAr[2],$WS_CHILD,$WS_EX_CONTROLPARENT, $TabAr[0])
    Return $TabAr[UBound($TabAr)-1]
    EndFunc

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

    Func _TabShow(ByRef $TabAr, $Tab)
    For $i = 5 To UBound($TabAr)-1
    GUISetState(@SW_HIDE,$TabAr[$i])
    Next
    GUISetState(@SW_SHOW,$Tab)
    EndFunc

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

    $GUI = GUICreate("Test")
    $TreeView = GUICtrlCreateTreeView(10,10,80,200)
    $Item1 = GUICtrlCreateTreeViewItem("Item1",$TreeView)
    $Item2 = GUICtrlCreateTreeViewItem("Item2",$Item1)

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

    $Tabs = _TabCreate($GUI,100,10,200,200)

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

    $Tab1 = _TabGUI($Tabs)
    GUISetBkColor(0)
    GUICtrlCreateDate("",10,10)

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

    $Tab2 = _TabGUI($Tabs)
    GUISetBkColor(0xABCDEF)

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

    GUISwitch($GUI)
    GUISetState()
    _TabShow($Tabs,$Tab2)

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

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $Item1
    _TabShow($Tabs,$Tab1)
    Case $Item2
    _TabShow($Tabs,$Tab2)
    EndSwitch

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

    WEnd

    [/autoit]