Jump to content

Verticle Scrolling in a Tab Window


bvr
 Share

Recommended Posts

Alright. I have a GUI window, with four tabs. I want 3 of the tabs to have no scrolling, which now I have 4. I want to make the fourth one scrollable,because it holds more content than the others. Here is the code for Tab #3.

$TabSheet3 = GUICtrlCreateTabItem("Pickit")
GUICtrlSetState(-1,$GUI_SHOW)
$Radio5 = GUICtrlCreateRadio("Metalgrid", 24, 96, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x808000)
$Radio6 = GUICtrlCreateRadio("Seraph's Hymn", 24, 128, 105, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio7 = GUICtrlCreateRadio("The Eye of Etlich", 24, 160, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Label17 = GUICtrlCreateLabel("Amulets/Rings", 16, 64, 94, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x808000)
$Radio8 = GUICtrlCreateRadio("The Mahim-Oak Curio", 24, 192, 137, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio9 = GUICtrlCreateRadio("The Cat's Eye", 24, 224, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio10 = GUICtrlCreateRadio("Crescent Moon", 24, 256, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio11 = GUICtrlCreateRadio("Highlord's Wrath", 24, 288, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio12 = GUICtrlCreateRadio("Mara's Kaleidoscope", 24, 320, 137, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio13 = GUICtrlCreateRadio("Stone of Jordan", 24, 352, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio14 = GUICtrlCreateRadio("Raven Frost", 24, 384, 89, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Label16 = GUICtrlCreateLabel("Belts/Helms", 24, 416, 78, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x808000)
$Radio15 = GUICtrlCreateRadio("Goldwrap", 24, 440, 81, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio16 = GUICtrlCreateRadio("Radio16", 24, 464, 113, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Radio17 = GUICtrlCreateRadio("Radio17", 24, 488, 113, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Label18 = GUICtrlCreateLabel("Griswolds Legacy", 192, 64, 116, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x00FF00)
$Radio18 = GUICtrlCreateRadio("Caduceus", 200, 96, 81, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio19 = GUICtrlCreateRadio("Corona", 200, 120, 65, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio20 = GUICtrlCreateRadio("Ornate Armor", 200, 144, 97, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio21 = GUICtrlCreateRadio("Vortex Shield", 200, 168, 97, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Label19 = GUICtrlCreateLabel("Immortal King", 208, 208, 94, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x00FF00)
$Radio22 = GUICtrlCreateRadio("Ogre Maul", 208, 240, 81, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio23 = GUICtrlCreateRadio("Avenger Guard", 208, 264, 105, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio24 = GUICtrlCreateRadio("Sacred Armor", 208, 288, 97, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio25 = GUICtrlCreateRadio("War Belt", 208, 312, 65, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio26 = GUICtrlCreateRadio("War Gauntlets", 208, 336, 97, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio27 = GUICtrlCreateRadio("War Boots", 208, 360, 81, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Label20 = GUICtrlCreateLabel("Tal Rashas Wrappings", 208, 392, 145, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x00FF00)
$Radio28 = GUICtrlCreateRadio("Amulet", 216, 416, 57, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio29 = GUICtrlCreateRadio("Lidless Eye", 216, 440, 81, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio30 = GUICtrlCreateRadio("Lacquered Plate", 216, 464, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio31 = GUICtrlCreateRadio("Death Mask", 216, 488, 89, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio32 = GUICtrlCreateRadio("Mesh Belt", 216, 512, 81, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Label22 = GUICtrlCreateLabel("Bul-Kathos Children", 216, 544, 130, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x00FF00)
$Radio33 = GUICtrlCreateRadio("Colossus Blade", 224, 568, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio34 = GUICtrlCreateRadio("Mythical Sword", 224, 592, 105, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Label23 = GUICtrlCreateLabel("Aldurs Watchtower", 224, 624, 124, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x00FF00)
$Radio35 = GUICtrlCreateRadio("Jagged Star", 232, 648, 89, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio36 = GUICtrlCreateRadio("Hunter's Guise", 232, 672, 105, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Radio37 = GUICtrlCreateRadio("Shadow Plate", 232, 696, 97, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
Link to comment
Share on other sites

Can anyone help me on this?

I think you have to use the method used in this example by aec, but instead of another tab you will need to create a popup window with a vertical scrollbar and put all the controls for tab 4 on that.

; Example of TAB in TAB ctrl by aec in AutoIt post
#include <GUIConstantsEx.au3>
#include <windowsconstants.au3>;added by mg
Global $main_GUI,$ok_button,$cancel_button

;This window has 2 ok/cancel-buttons
$main_GUI       = GUICreate("TAB in TAB",260,250,-1,-1)
$ok_button      = GUICtrlCreateButton("OK",40,220,70,20)
$cancel_button  = GUICtrlCreateButton("Cancel",150,220,70,20)

; Create the first child window that is implemented into the main GUI
$child1         = GUICreate("",230,170,15,35,BitOr($WS_CHILD,$WS_TABSTOP),-1,$main_GUI)
$child_tab      = GUICtrlCreateTab(10,10,210,150)
$child11tab     = GUICtrlCreateTabItem("1")
$child12tab     = GUICtrlCreateTabItem("2")
GUICtrlCreateTabItem("")

GUISetState()

; Create the second child window that is implemented into the main GUI
$child2         = GUICreate("",230,170,15,35,BitOr($WS_CHILD,$WS_TABSTOP),-1,$main_GUI)
$listview2      =  GUICtrlCreateListView("Col1|Col2",10,10,210,150,-1,$WS_EX_CLIENTEDGE);GUICtrlCreateLabel("",0,0,
GUICtrlCreateListViewItem("ItemLong1|ItemLong12", $listview2)
GUICtrlCreateListViewItem("ItemLong2|Item22", $listview2)

; Switch back the main GUI and create the tabs
GUISwitch($main_GUI)
$main_tab       = GUICtrlCreateTab(10,10,240,200)
$child1tab      = GUICtrlCreateTabItem("Child1")
$child2tab      = GUICtrlCreateTabItem("Child2")
GUICtrlCreateTabItem("")

GUISetState()
$HideShow = $GUI_HIDE + $GUI_SHOW
$chil1tabstate = true

While 1
    $msg = GUIGetMsg(1)
    Switch $msg[0]
        Case $GUI_EVENT_CLOSE
            ExitLoop
        Case $cancel_button
            $chil1tabstate = not $chil1tabstate
            If $chil1tabstate Then
              GUISetState(@SW_ENABLE,$child2)
              Else
               GUISetState(@SW_DISABLE ,$child2)
              EndIf
                  
        Case $main_tab
            Switch GUICtrlRead($main_tab)
                Case 0
                  GUISetState(@SW_HIDE,$child2)
                  GUISetState(@SW_SHOW,$child1)
          
                Case 1
                  GUISetState(@SW_HIDE,$child1)
                  If $chil1tabstate Then GUISetState(@SW_SHOW,$child2)
            EndSwitch
    EndSwitch
WEnd
Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.
Link to comment
Share on other sites

Sorry for the slow reply, but thanks for the suggestion. I was also wondering with the Radio buttons, can you select multiple ones, or is it just limited to just one like it is now?

Link to comment
Share on other sites

Sorry for the slow reply, but thanks for the suggestion. I was also wondering with the Radio buttons, can you select multiple ones, or is it just limited to just one like it is now?

Put each set of Radio buttons in their own Group and each set will be independant and you will be able to have one Radio button selected in each group.

If that is not what you want then maybe checkboxes would be better.

Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...