Tab mit Scrollbar

  • wie kann ich einen TabItem eine Scrollbar dranhängen?
    Beim GUICtrlCreateTab geht das ja gut, aber das ist nicht so ganz das richtige....
    GUICtrlCreateTabItem bietet ja keine exStyles an ....

    Einmal editiert, zuletzt von Sarah (29. August 2010 um 10:16) aus folgendem Grund: Status geändert

  • Hallo Sarah,

    verstehe die Frage nicht wenn der Tabbereich nicht ausreicht wird doch automatisch eine Scrollbar für die Tabs eingeblendet.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Falls du innerhalb eines TabItems einen Scrollbereich haben willst, musst du dort eine HilfsGui erstellen, siehe dazu:
    [ gelöst ] Gruppe oder Bereich in GUI scrollen

    mfg autoBert

  • ich habe mehr Elemente als auf dem Tag Platz ist, ich möchte also innerhalb des Tabs scrollen.
    verstehe ich das richtig, dass ich eine "dummy" gui auf das Tab legen muss?

    [autoit]


    $tabTest = GUICtrlCreateTabItem("test");
    $hGroup2 = GUICreate("",170,170,235,25,BitOR($WS_Child, $WS_VSCROLL),-1,$tabTest )

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

    $buttonStart = GUIctrlcreatebutton("start", 10, 30,120,30)

    [/autoit]
  • das klappt bei einfachen GUI's ganz gut, wenn ich baer versuche es auf ein Tab zu legen, liegt der Scrollbereich entweder auf dem ersten Tab

    [autoit]


    $tabTest = GUICtrlCreateTabItem("Test")
    $hGroup2 = GUICreate("",170,170,235,25,BitOR($WS_POPUP, $WS_GROUP, $WS_VSCROLL, $WS_CLIPSIBLINGS),$WS_EX_MDICHILD,$mainGui)

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

    $buttonStart = GUIctrlcreatebutton("start", 10, 30,120,30)

    [/autoit]

    oder erscheint garnicht

    [autoit]


    $tabTest = GUICtrlCreateTabItem("Test")
    $hGroup2 = GUICreate("",170,170,235,25,BitOR($WS_POPUP, $WS_GROUP, $WS_VSCROLL, $WS_CLIPSIBLINGS),$WS_EX_MDICHILD,$tabTest )

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

    $buttonStart = GUIctrlcreatebutton("start", 10, 30,120,30)

    [/autoit]
  • mein script hat mittlerweile etwa 3000 Zeilen code, von daher habe ich mir schon was gedacht als ich nur den schnipsel gepostet habe ;)

    ich poste mal den Teil wo ich die gui baue (ballast werfe ich auch ein bisschen von board)

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StructureConstants.au3>
    #include <GUIScrollBars.au3>
    #include <ScrollBarConstants.au3>

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

    startGui()

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

    Func startGui()
    global $mainGui = GUIcreate("Titel", 600, 600)

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

    $tab = GUICtrlCreateTab(-1,-1,600,600)
    $tab1 = GUICtrlCreateTabItem("Tab1")
    ; gui elemente
    GUICtrlCreateTabItem("")
    $tab2 = GUICtrlCreateTabItem("Tab2")
    ; gui elemente
    GUICtrlCreateTabItem("")
    $tab3 = GUICtrlCreateTabItem("Tab3")
    $hGroup2 = GUICreate("",170,170,235,25,BitOR($WS_Child, $WS_GROUP, $WS_VSCROLL, $WS_CLIPSIBLINGS),$WS_EX_MDICHILD,$tab3)
    $buttonStart = GUIctrlcreatebutton("start", 10, 30,120,30)
    GUICtrlCreateTabItem("")
    $tab4 = GUICtrlCreateTabItem("Tab4")
    ; gui elemente
    GUICtrlCreateTabItem("")
    $tab5 = GUICtrlCreateTabItem("Tab5")
    ; gui elemente
    GUICtrlCreateTabItem("")

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

    GUIsetstate(@sw_show)

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

    $msg = GUIgetmsg()

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

    While 1
    $msg = GUIgetmsg()
    Switch $msg
    Case $buttonStart
    ConsoleWrite("start()")
    Case $GUI_EVENT_CLOSE
    ConsoleWrite("exit" & @CRLF)
    Exit
    EndSwitch
    WEnd
    EndFunc ; ==> startGui()

    [/autoit]
  • Guten Morgen!

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StructureConstants.au3>
    #include <GUIScrollBars.au3>
    #include <ScrollBarConstants.au3>
    #include "Guiscroll.au3" ; -> http://www.autoit.de/index.php?page…2464#post162464

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

    startGui()

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

    Func startGui()
    global $mainGui = GUIcreate("Titel", 600, 600)

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

    $tab = GUICtrlCreateTab(-1,-1,600,600)
    $tab1 = GUICtrlCreateTabItem("Tab1")
    ; gui elemente
    $tab2 = GUICtrlCreateTabItem("Tab2")
    ; gui elemente
    $tab3 = GUICtrlCreateTabItem("Tab3")
    $buttonStart = GUIctrlcreatebutton("start", 10, 30,120,30)
    $tab4 = GUICtrlCreateTabItem("Tab4")
    ;gui elemente
    $tab5 = GUICtrlCreateTabItem("Tab5")
    ; gui elemente
    GUICtrlCreateTabItem("")

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

    GUIsetstate()

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

    $hGroup2 = GUICreate("",170,170,235,25,BitOR($WS_POPUP,$WS_BORDER,$WS_GROUP,$WS_VSCROLL,$WS_CLIPSIBLINGS),$WS_EX_MDICHILD,$mainGui)
    GUICtrlCreateButton("Testbutton", 10, 170, 100, 25)
    Scrollbar_Create($hGroup2, $SB_VERT, 170 + 25)
    Scrollbar_Step(10, $hGroup2, $SB_VERT)

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

    While 1
    $msg = GUIgetmsg()
    Switch $msg
    Case $tab
    If GUICtrlRead($tab, 1) = $tab3 Then
    GUISetState(@SW_SHOW, $hgroup2)
    WinActivate($mainGui)
    Else
    GUISetState(@SW_HIDE, $hgroup2)
    EndIf
    Case $buttonStart
    ConsoleWrite("start()")
    Case $GUI_EVENT_CLOSE
    ConsoleWrite("exit" & @CRLF)
    Exit
    EndSwitch
    WEnd
    EndFunc ; ==> startGui()

    [/autoit]