In einen Tab switchen?

  • hallo

    gibt es eine möglichkeit bei mehreren tabs in einen bestimmten zu switchen?

    also ich habe tab1, tab2, tab3... bin im tab 3 und möchte, dass automatisch in tab1 gesprungen wird?

    mfg

    edit:
    mit tabs meine ich GuiCtrlCreateTabItem


    edit2:
    GUICtrlSetState($tab1, $GUI_FOCUS) habe ich schon probiert, geht aber leider nicht

    Einmal editiert, zuletzt von pete_gzome (2. Januar 2010 um 21:57)

  • meinst du so?

    Spoiler anzeigen
    [autoit]

    #include <GuiTab.au3>
    #include <GUIConstantsEx.au3>

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

    ; Erstellt eine GUI
    GUICreate("Tab-Control: Wählt einen Tab aus", 400, 300)
    $hTab = GUICtrlCreateTab(2, 2, 396, 296)
    GUISetState()

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

    ; Fügt Tabs hinzu
    _GUICtrlTab_InsertItem($hTab, 0, "Tab 1")
    _GUICtrlTab_InsertItem($hTab, 1, "Tab 2")
    _GUICtrlTab_InsertItem($hTab, 2, "Tab 3")

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

    ; Ermittelt den ausgewählten Tab / Wählt einen Tab aus
    MsgBox(4160, "Information", "Ausgewählter Tab: " & _GUICtrlTab_GetCurSel($hTab))
    _GUICtrlTab_SetCurSel($hTab, 1)
    MsgBox(4160, "Information", "Ausgewählter Tab: " & _GUICtrlTab_GetCurSel($hTab))

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

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit]
  • hm...
    das problem ist dann aber, dass alle verschiedenen controls, die normalerweise in den verschiedenen tabs sind, alle übereinander sind

    normal benutze ich ja sowas:

    [autoit]


    $tab = GuiCtrlCreateTab()
    GuiCtrlCreateTabItem("Tab 1")
    inhalt1...
    GuiCtrlCreateTabItem("Tab 2")
    inhalt2...

    [/autoit]

    wenn ich aber

    [autoit]

    $tab = GuiCtrlCreateTab()
    _GUICtrlTab_InsertItem($tab, 0, " Tab 1 ")
    inhalt 1...
    _GUICtrlTab_InsertItem($tab, 1, " Tab 2 ")
    inhalt 2...

    [/autoit]

    benutze, überlappen sich die inhalte unter den tabs


    /edit
    ok, raupi, werde ich mal tun

  • ich bekomme es einfach nicht hin
    was ist falsch?

    [autoit]

    $tab = GuiCtrlCreateTab(5, 5, 200, 200)

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

    $tab1 = GuiCtrlCreateTabItem(" Tab 1 ")
    GuiCtrlCreateLabel("tab 1 inhalt", 10, 10)

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

    $tab2 = GuiCtrlCreateTabItem(" Tab 2 ")
    GuiCtrlCreateLabel("tab 2 inhalt", 10, 10)

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

    $tab3 = GuiCtrlCreateTabItem(" Tab 3 ")
    GuiCtrlCreateLabel("tab 3 inhalt", 10, 10)

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

    ...
    ...
    ...

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

    _GUICtrlTab_SetCurSel($tab, GUICtrlGetHandle(...))

    [/autoit]

    was soll ich in das gethandle reinschreiben?

    in der hilfe steht, dass das mit den tabs nich geht
    ! These controls are not supported: Dummy, Graphic, Object, ListViewItem and TabItem !


    sorry, aber hab keinen plan

  • mit _GUICtrlTab_SetCurSel ändert sich seltsamerweise der Inhalt des Tabs nicht :thumbdown:
    mit _GUICtrlTab_SetCurFocus geht jedoch :thumbup:

    Spoiler anzeigen
    [autoit]

    #include <GuiTab.au3>
    #include <GUIConstantsEx.au3>

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

    ; Erstellt eine GUI
    GUICreate("Tab-Control: Wählt einen Tab aus", 400, 300)
    $hTab = GUICtrlCreateTab(2, 2, 396, 296)

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

    $tab = GUICtrlCreateTab(5, 5, 200, 200)
    $tab1 = GUICtrlCreateTabItem(" Tab 1 ")
    GUICtrlCreateLabel("tab 1 inhalt", 10, 50)
    $tab2 = GUICtrlCreateTabItem(" Tab 2 ")
    GUICtrlCreateLabel("tab 2 inhalt", 10, 70)
    $tab3 = GUICtrlCreateTabItem(" Tab 3 ")
    GUICtrlCreateLabel("tab 3 inhalt", 10, 90)

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

    GUISetState()

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

    ; Ermittelt den ausgewählten Tab / Wählt einen Tab aus
    MsgBox(4160, "Information", "Ausgewählter Tab: " & _GUICtrlTab_GetCurFocus($hTab))
    _GUICtrlTab_SetCurFocus($hTab, 1)
    MsgBox(4160, "Information", "Ausgewählter Tab: " & _GUICtrlTab_GetCurFocus($hTab))

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

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit]
    • Offizieller Beitrag

    Hier nochmal das ganze ohne UDF:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    ; Erstellt eine GUI
    $hGui= GUICreate("Tab-Control: Wählt einen Tab aus", 400, 300)
    $hTab = GUICtrlCreateTab(2, 2, 396, 296)
    $tab = GUICtrlCreateTab(5, 5, 200, 200)
    $tab1 = GUICtrlCreateTabItem(" Tab 1 ")
    GUICtrlCreateLabel("tab 1 inhalt", 10, 50)
    $tab2 = GUICtrlCreateTabItem(" Tab 2 ")
    GUICtrlCreateLabel("tab 2 inhalt", 10, 70)
    $tab3 = GUICtrlCreateTabItem(" Tab 3 ")
    GUICtrlCreateLabel("tab 3 inhalt", 10, 90)

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

    GUISetState()

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

    ; Ermittelt den ausgewählten Tab / Wählt einen Tab aus
    MsgBox(4160, "Information", "Ausgewählter Tab: " & GUICtrlRead($hTab)+1)
    GUICtrlSetState($tab3, $GUI_SHOW)
    MsgBox(4160, "Information", "Ausgewählter Tab: " & GUICtrlRead($hTab)+1)

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

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit]