GUICtrlSetResizing und GUICtrlCreateTab bzw. GUICtrlCreateTabItem

  • Hallo zusammen,

    ich versuche eine GUI zu erstellen, welche automatisch resized, wenn ich die Größe des Fensters ändere.
    Das funktioniert soweit auch ganz gut, nur das TabControl scheint sich nicht daran zu interessieren.

    Ich habe hier mal eine Beispiel-GUI direkt aus Koda. Hier funktioniert das Resizing korrekt, halt nur nicht für das TabControl.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 413, 298, -1, -1, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS))
    $Tab1 = GUICtrlCreateTab(8, 8, 401, 281)
    GUICtrlSetResizing($Tab1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
    $ListView1 = GUICtrlCreateListView("a|b|c|d", 32, 48, 250, 150)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 1, 50)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 2, 50)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 3, 50)
    $ListView1_0 = GUICtrlCreateListViewItem("Test1a|Test1b|Test1c|Test1d", $ListView1)
    $ListView1_1 = GUICtrlCreateListViewItem("Test2a|Test2b|Test2c|Test2d", $ListView1)
    $Button1 = GUICtrlCreateButton("Button1", 32, 232, 75, 25, 0)
    $Button2 = GUICtrlCreateButton("Button2", 128, 232, 75, 25, 0)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

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

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

    EndSwitch
    WEnd

    [/autoit]

    Könnte das jemand testen und bestätigen? Hat jemand eine Lösung hierzu?

    Vielen Dank und viele Grüße
    Christian

    Einmal editiert, zuletzt von CBENDT (26. Juli 2010 um 12:04)

    • Offizieller Beitrag

    Welches Verhalten erwartest Du denn?
    Soll sich das Tab-Control ebenfalls der Größe anpassen?
    Dann so:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 413, 298, -1, -1, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS))
    $Tab1 = GUICtrlCreateTab(8, 8, 401, 281)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    $TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
    $ListView1 = GUICtrlCreateListView("a|b|c|d", 32, 48, 250, 150)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 1, 50)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 2, 50)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 3, 50)
    $ListView1_0 = GUICtrlCreateListViewItem("Test1a|Test1b|Test1c|Test1d", $ListView1)
    $ListView1_1 = GUICtrlCreateListViewItem("Test2a|Test2b|Test2c|Test2d", $ListView1)
    $Button1 = GUICtrlCreateButton("Button1", 32, 232, 75, 25, 0)
    $Button2 = GUICtrlCreateButton("Button2", 128, 232, 75, 25, 0)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

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

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

    EndSwitch
    WEnd

    [/autoit]