Wie kann ich ein Tab aktivieren?

  • Wie in der Iberschrift geschireben versuche ich ein Tab zu aktieivern in meinem GUI.
    Erstmal ich habe ein Tab mit 2 Tabsheets. AutoitAktiviert aber das zweite bei der Erstellung und ich krige es nicht hin das rückgängig zu machen.
    In der Suche habe ich leider noch nichts gefunden.

    [autoit]

    $Form1 = GUICreate($title, 633, 457, 190, 120, BitOR($WS_SYSMENU,$WS_MINIMIZEBOX))
    $Tab1 = GUICtrlCreateTab(8, 8, 617, 433)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Tasks")
    $List1 = GUICtrlCreateList("", 24, 40, 585, 344)
    $Button1 = GUICtrlCreateButton("Button1", 24, 392, 81, 25, 0)
    $TabSheet2 = GUICtrlCreateTabItem("Prozesse")
    GUICtrlSetState(-1,$GUI_SHOW)
    $List2 = GUICtrlCreateList("", 24, 40, 585, 344)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)

    [/autoit]
  • Hier mal schnell ein Beispiel mit Koda:

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 447, 192, 124)
    $Tab1 = GUICtrlCreateTab(136, 80, 289, 193)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $1 = GUICtrlCreateTabItem("d")
    $2 = GUICtrlCreateTabItem("a")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Sleep(3000)
    GUICtrlSetState($2,$GUI_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Schade Schade weitere Probleme diesmal sag ich was ich vorhab.
    Also ich versuche Eine Art Taskmanager zu bauen.
    Zu meinen Problemen:
    Wenn ich die Fenster auflisten will seh ich
    1. die erstmal gar nicht bis ich den anderen Tab anklicke und wieder den Anderen und
    2. sehe ich nur viele gleiche Texte aber nicht die Fenstertitel die ich haben will.

    Spoiler anzeigen
    [autoit]

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

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

    $title="Taskmanaer V0.1 by TheShadowAE"

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

    #Region ### START Koda GUI section ### Form=D:\Progen\AutoIt\Meine\Forms\Tasks.kxf
    $Form1 = GUICreate($title, 633, 457, 190, 120, BitOR($WS_SYSMENU,$WS_MINIMIZEBOX))
    $Tab1 = GUICtrlCreateTab(8, 8, 617, 433)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Tasks")
    $List1 = GUICtrlCreateList("", 24, 40, 585, 344)
    $Button1 = GUICtrlCreateButton("Button1", 24, 392, 81, 25, 0)
    $TabSheet2 = GUICtrlCreateTabItem("Prozesse")
    GUICtrlSetState(-1,$GUI_SHOW)
    $List2 = GUICtrlCreateList("", 24, 40, 585, 344)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    $liste=winlist()
    for $x=1 to $liste[0][0]
    ;~ if IsVisible($liste[$x][1]) then
    guictrlsetdata($List1,$liste[$x][0]&"|")
    ;~ EndIf
    next

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

    _GUICtrlTab_SetCurSel($Tab1, 0)

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

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

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

    EndSwitch
    WEnd

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

    Func IsVisible($handle)
    If BitAnd( WinGetState($handle), 2 ) Then
    Return 1
    Else
    Return 0
    EndIf

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

    EndFunc

    [/autoit]

    PS: Bin noch in den Anfängen wie man sieht :D

  • probiers mal so:

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiTab.au3>
    #include <Array.au3>

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

    $title="Taskmanaer V0.1 by TheShadowAE"
    $Form1 = GUICreate($title, 633, 457, 190, 120, BitOR($WS_SYSMENU,$WS_MINIMIZEBOX))
    $Tab1 = GUICtrlCreateTab(8, 8, 617, 433)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Tasks")
    $List1 = GUICtrlCreateList("", 24, 40, 585, 344)
    $Button1 = GUICtrlCreateButton("Button1", 24, 392, 81, 25, 0)
    $TabSheet2 = GUICtrlCreateTabItem("Prozesse")
    GUICtrlSetState(-1,$GUI_SHOW)
    $List2 = GUICtrlCreateList("", 24, 40, 585, 344)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)

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

    GUICtrlSetState($TabSheet1,$GUI_SHOW)
    $liste= _WinGetVis()
    guictrlsetdata($List1,$liste)

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

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

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

    EndSwitch
    WEnd

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

    Func _WinGetVis()
    Dim $Winvisible = ""
    $Winlist = WinList()
    For $i = 1 To $Winlist[0][0]
    If StringStripCR($Winlist[$i][0]) <> "" And BitAND(WinGetState($Winlist[$i][1]), 2) Then
    $Winvisible &= "|" & $Winlist[$i][0]
    EndIf
    Next
    Return $Winvisible
    EndFunc

    [/autoit]