antonioj84 Posted April 4, 2017 Posted April 4, 2017 expandcollapse popup#include <GUIConstantsEx.au3> #include "GUIExtender.au3" $hGUI = GUICreate("Move Example", 250, 230) GUICtrlCreateGroup(" Choose Orientation ", 10, 10, 230, 80) $cRadio_Horz = GUICtrlCreateRadio(" Horizontal ", 20, 30, 100, 20) GUICtrlSetState(-1, $GUI_CHECKED) $cRadio_Vert = GUICtrlCreateRadio(" Vertical ", 20, 60, 100, 20) GUICtrlCreateGroup(" Choose Move Style ", 10, 100, 230, 110) $cRadio_0 = GUICtrlCreateRadio(" Fix Left ", 20, 120, 100, 20) $cRadio_1 = GUICtrlCreateRadio(" Fix Centre ", 20, 150, 100, 20) $cRadio_2 = GUICtrlCreateRadio(" Fix Right ", 20, 180, 100, 20) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $cRadio_Horz GUICtrlSetData($cRadio_0, " Fix Left ") GUICtrlSetState($cRadio_0, $GUI_UNCHECKED) GUICtrlSetState($cRadio_1, $GUI_UNCHECKED) GUICtrlSetData($cRadio_2, " Fix Right ") GUICtrlSetState($cRadio_2, $GUI_UNCHECKED) Case $cRadio_Vert GUICtrlSetData($cRadio_0, " Fix Top ") GUICtrlSetState($cRadio_0, $GUI_UNCHECKED) GUICtrlSetState($cRadio_1, $GUI_UNCHECKED) GUICtrlSetData($cRadio_2, " Fix Bottom ") GUICtrlSetState($cRadio_2, $GUI_UNCHECKED) Case $cRadio_0 _Create_GUI(0) Case $cRadio_1 _Create_GUI(1) Case $cRadio_2 _Create_GUI(2) EndSwitch WEnd Func _Create_GUI($iMove) Local $sTitle Switch $iMove Case 0 If GUICtrlRead($cRadio_Horz) = 1 Then $sTitle = "Fixed Left" Else $sTitle = "Fixed Top" EndIf Case 1 $sTitle = "Fixed Centre" Case 2 If GUICtrlRead($cRadio_Horz) = 1 Then $sTitle = "Fixed Right" Else $sTitle = "Fixed Bottom" EndIf EndSwitch GUISetState(@SW_HIDE, $hGUI) $hGUI_Ex = GUICreate($sTitle, 500, 500) If GUICtrlRead($cRadio_Horz) = 1 Then _GUIExtender_Init($hGUI_Ex, 1, $iMove) _GUIExtender_Section_Create($hGUI_Ex, 0, 250) _GUIExtender_Section_Activate($hGUI_Ex, 2, "", "", 220, 10, 20, 20) _GUIExtender_Section_Create($hGUI_Ex, 250, 250) GUICtrlCreateLabel("", 250, 0, 250, 500) GUICtrlSetBkColor(-1, 0xFFCCCC) _GUIExtender_Section_Create($hGUI_Ex, -99) Else _GUIExtender_Init($hGUI_Ex, 0, $iMove) _GUIExtender_Section_Create($hGUI_Ex, 250, 0) _GUIExtender_Section_Activate($hGUI_Ex, 2, "", "", 470, 220, 20, 20) _GUIExtender_Section_Create($hGUI_Ex, 250, 250) GUICtrlCreateLabel("", 0, 250, 500, 250) GUICtrlSetBkColor(-1, 0xFFCCCC) _GUIExtender_Section_Create($hGUI_Ex, -99) EndIf _GUIExtender_Section_Action($hGUI_Ex, 2, False) GUISetState() While 1 $aMsg = GUIGetMsg(1) Switch $aMsg[0] Case $GUI_EVENT_CLOSE GUISetState(@SW_SHOW, $hGUI) GUIDelete($hGUI_Ex) _GUIExtender_Clear($hGUI_Ex) ExitLoop EndSwitch _GUIExtender_EventMonitor($aMsg[1], $aMsg[0]) ; Check for click on Action control WEnd EndFunc I am trying to implement 2 side window toggle hide and show with 2 different menu. can someone give me some direction thanks
Moderators Melba23 Posted April 4, 2017 Moderators Posted April 4, 2017 antonioj84, Why hijack a completely unrelated thread when you could just open a new one - as I have now done for you? That code is just Example 7 in my GUIExtender download - and it works as expected. Now I will be happy to help you integrate my UDF into your script so it works as you wish, but firstly please explain exactly what you want to do - "2 side window toggle hide and show with 2 different menu" is as clear as mud. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
antonioj84 Posted April 4, 2017 Author Posted April 4, 2017 (edited) Hey Melba here you go, this what I mean a picture worth a thousand word. Thanks for opening the thread lesson learned. I can toggle Edited April 4, 2017 by antonioj84 add
Moderators Melba23 Posted April 4, 2017 Moderators Posted April 4, 2017 antonioj84, I think I understand, but it will be tomorrow before I can do anything - see you then. M23 antonioj84 1 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
antonioj84 Posted April 8, 2017 Author Posted April 8, 2017 expandcollapse popup#include <GuiConstantsEx.au3> #include <WindowsConstants.au3> #include <GuiTab.au3> #include <EditConstants.au3> #include <StaticConstants.au3> #include <ListViewConstants.au3> #include "GUIExtender.au3" ; Create arrays to hold the controls on each tab Global $aInput[7][3], $aButtons[7][3], $aListViews[3] ; Tab colours Global $aTabColours[3] = [0xFFC0C0, 0xC0C0FF, 0xC0C0C0] Global $aTabTitles[3] = ["Store CASA", "Store Regular", "Store Training"] Global $iTab_Index ; Create GUI Global $hGUI = GUICreate("IP CALCULATOR", 1214, 1019, 627, 0) ; 400,300) ;main gui 714px, other is 500 ; Create menu left _GUIExtender_Init($hGUI, 1, 0) _GUIExtender_Section_Create($hGUI, 0, 500) _GUIExtender_Section_Activate($hGUI, 2, "", "", 690, 6, 20, 20) ;create arrow button _GUIExtender_Section_Create($hGUI, 500, 500) ;GUICtrlCreateLabel("", 250, 0, 250, 500) ; ;GUICtrlSetBkColor(-1, 0xFFCCCC); _GUIExtender_Section_Action($hGUI, 2, False) ; Set teh font for eh whole GUI - then you do not have to do it for each control <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< GUISetFont(8, 400, 0, "Arial") ; Create label to cover tab "tab" Global $hColourTab = GUICtrlCreateLabel("", 0, 0, 1, 1, BitOR($SS_NOTIFY, $SS_CENTER, $SS_SUNKEN)) ; Create tab Global $cTab = GUICtrlCreateTab(7, 5, 682, 1019) ; Create tab items and colour them For $i = 0 To 2 GUICtrlCreateTabItem($i & " - " & $aTabTitles[$i]) If $i = 0 Then ; Set 0 as active tab GUICtrlSetState(-1, $GUI_SHOW) $iCurrTab = 0 EndIf _GUICtrlTab_SetBkColor($hGUI, $cTab, $aTabColours[$i]) ; Create controls on each tab Call("GUImenu" & $i) Next ; End tab defintion just the once GUICtrlCreateTabItem("") GUISetState() While 1 $aMsg = GUIGetMsg(1) Switch $aMsg[0] Case $GUI_EVENT_CLOSE Exit Case $cTab ; Get the current tab $iCurrTab = GUICtrlRead($cTab) ; Now we can use this value to access the relevant set of controls in the arrays Case $aButtons[1][$iCurrTab] MsgBox($MB_SYSTEMMODAL, "Pressed", "Setting Button on tab " & $iCurrTab) Case $aButtons[2][$iCurrTab] MsgBox($MB_SYSTEMMODAL, "Pressed", "Exit Button on tab " & $iCurrTab) Exit Case $aButtons[4][$iCurrTab] MsgBox($MB_SYSTEMMODAL, "Pressed", "Create IP Data Button on tab " & $iCurrTab) Case $aButtons[6][$iCurrTab] MsgBox($MB_SYSTEMMODAL, "Pressed", "Screen Capture Button on tab " & $iCurrTab) EndSwitch _GUIExtender_EventMonitor($aMsg[1], $aMsg[0]) ; Check for click on Action control WEnd Func GUImenu0() ; The controls on each Tab are stored in the relevant section of the arrays GUICtrlCreateLabel("STORENUM", 36, 53, 66, 17) ; No need to store ControlID if you never use it <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $aInput[3][0] = GUICtrlCreateInput("", 108, 51, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) $aButtons[6][0] = GUICtrlCreateButton("Create Screen Capture", 84, 349, 120, 33) $aListViews[0] = GUICtrlCreateListView("| UCS Subnet/ 28||", 252, 53, 361, 625, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT)) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50) $aButtons[1][0] = GUICtrlCreateButton("Setting", 12, 957, 91, 33) $aButtons[2][0] = GUICtrlCreateButton("Exit", 92, 437, 91, 33) GUICtrlCreateLabel("Register", 48, 83, 54, 17) $aInput[4][0] = GUICtrlCreateInput("4", 108, 81, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) $aButtons[4][0] = GUICtrlCreateButton("Create IP Data", 89, 301, 107, 33) $aInput[5][0] = GUICtrlCreateInput("2", 108, 203, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) GUICtrlCreateLabel("Printer front/back", 14, 205, 88, 25) GUICtrlCreateLabel("Tablet", 50, 114, 52, 17) $aInput[1][0] = GUICtrlCreateInput("", 108, 112, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) $aInput[2][0] = GUICtrlCreateInput("2", 108, 142, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) $aInput[6][0] = GUICtrlCreateInput("2", 108, 173, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) GUICtrlCreateLabel("Receipt Printer", 26, 144, 76, 17) GUICtrlCreateLabel("Tablet Printer", 26, 175, 76, 25) EndFunc ;==>GUImenu0 Func GUImenu1() GUICtrlCreateLabel("STORENUM", 36, 53, 66, 17) $aInput[3][1] = GUICtrlCreateInput("", 108, 51, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) $aButtons[6][1] = GUICtrlCreateButton("Create Screen Capture", 84, 349, 120, 33) $aListViews[1] = GUICtrlCreateListView("| UCS Subnet/ 28||", 252, 53, 361, 625, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT)) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50) $aButtons[1][1] = GUICtrlCreateButton("Setting", 12, 957, 91, 33) $aButtons[2][1] = GUICtrlCreateButton("Exit", 92, 437, 91, 33) GUICtrlCreateLabel("Register", 48, 83, 54, 17) $aInput[4][1] = GUICtrlCreateInput("4", 108, 81, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) $aButtons[4][1] = GUICtrlCreateButton("Create IP Data", 89, 301, 107, 33) $aInput[5][1] = GUICtrlCreateInput("2", 108, 203, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) GUICtrlCreateLabel("Printer front/back", 14, 205, 88, 25) EndFunc ;==>GUImenu1 Func GUImenu2() GUICtrlCreateLabel("STORENUM", 36, 53, 66, 17) $aInput[3][2] = GUICtrlCreateInput("", 108, 51, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) $aButtons[6][2] = GUICtrlCreateButton("Create Screen Capture", 84, 349, 120, 33) $aListViews[2] = GUICtrlCreateListView("| UCS Subnet/ 28||", 252, 53, 361, 625, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT)) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50) $aButtons[1][2] = GUICtrlCreateButton("Setting", 12, 957, 91, 33) $aButtons[2][2] = GUICtrlCreateButton("Exit", 92, 437, 91, 33) GUICtrlCreateLabel("Register", 48, 83, 54, 17) $aInput[4][2] = GUICtrlCreateInput("4", 108, 81, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) $aButtons[4][2] = GUICtrlCreateButton("Create IP Data", 89, 301, 107, 33) $aInput[5][2] = GUICtrlCreateInput("2", 108, 203, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) GUICtrlCreateLabel("Printer front/back", 14, 205, 88, 25) GUICtrlCreateLabel("Tablet", 50, 114, 52, 17) $aInput[1][0] = GUICtrlCreateInput("", 108, 112, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) $aInput[2][0] = GUICtrlCreateInput("2", 108, 142, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) $aInput[6][0] = GUICtrlCreateInput("2", 108, 173, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) GUICtrlCreateLabel("Receipt Printer", 26, 144, 76, 17) GUICtrlCreateLabel("Tablet Printer", 26, 175, 76, 25) EndFunc ;==>GUImenu2 Func _GUICtrlTab_SetBkColor($hWnd, $hSysTab32, $sBkColor) ; Get tab position Local $aTabPos = ControlGetPos($hWnd, "", $hSysTab32) ; Get size of user area Local $aTab_Rect = _GUICtrlTab_GetItemRect($hSysTab32, -1) ; Create label GUICtrlCreateLabel("", $aTabPos[0] + 2, $aTabPos[1] + $aTab_Rect[3] + 4, $aTabPos[2] - 6, $aTabPos[3] - $aTab_Rect[3] - 7) ; Colour label GUICtrlSetBkColor(-1, $sBkColor) ; Disable label GUICtrlSetState(-1, $GUI_DISABLE) EndFunc ;==>_GUICtrlTab_SetBkColor this is my progress , currently it can hide and un-hide horizontally the pink side. i am working on hiding half the menu blue(vertically) when the down arrow is clicked harry
Moderators Melba23 Posted April 8, 2017 Moderators Posted April 8, 2017 (edited) antonioj84, My apologies, I have been very busy lately and I completely forgot about this thread - I will try and find time to look into the problem today. Note to all readers: if you want help with one my UDFs it is best to post in the UDF thread so that I am guaranteed to remember it. M23 Edit: The removal men are delayed so I have a moment now. How about this: expandcollapse popup#include <GUIConstantsEx.au3> #include "GUIExtender.au3" $hGUI = GUICreate("Test", 1000, 500) _GUIExtender_Init($hGUI, 1, 2) ; Use mode 2 so the static GUI does not move $iSection_1 = _GUIExtender_Section_Create($hGUI, 0, 500) ; Add some controls so we can see which section is which GUICtrlCreateLabel("", 0, 0, 500, 500) GUICtrlSetBkColor(-1, 0xCCCCFF) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlCreateLabel("I am the BLUE section that opens and closes", 0, 100, 300, 20) _GUIExtender_Section_Create($hGUI, 500, 500) GUICtrlCreateLabel("", 500, 0, 500, 500) GUICtrlSetBkColor(-1, 0xFFCCCC) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlCreateLabel("I am the PINK section that is static", 500, 100, 300, 20) ; Activation control must be in this section, not the extendable one _GUIExtender_Section_Activate($hGUI, $iSection_1, "", "", 690, 6, 20, 20) ; Close section creation structure _GUIExtender_Section_Create($hGUI, -99) ; Close extendable section _GUIExtender_Section_Action($hGUI, $iSection_1, False) GUISetState() While 1 $iMsg = GUIGetMsg() Switch $iMsg Case $GUI_EVENT_CLOSE Exit EndSwitch ; Pass GUI handle and event message to the UDF so it can action the extendable section _GUIExtender_EventMonitor($hGUI, $iMsg) WEnd Edited April 8, 2017 by Melba23 antonioj84 1 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
antonioj84 Posted April 12, 2017 Author Posted April 12, 2017 hi Melba, i am trying to do 2 thing and i hope you can help 1. i want the blue window to be static and the pink can be hidden and un-hidden 2 i want the blue window - half window that can be extended vertically ( hidden and un-hidden ) see below
Moderators Melba23 Posted April 12, 2017 Moderators Posted April 12, 2017 antonioj84, The UDF will only work in one sense within the same GUI - either horizontally or vertically. I did try once to make it bi-directional, but the logistics got too complex - especially if the sizes of the sections in the 2 directions were not compatible and there was not a fixed anchor section. But in your case it looks possible that using a child GUI to do the other direction might work - I will see if I can come up with something this morning. M23 antonioj84 1 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Moderators Melba23 Posted April 12, 2017 Moderators Posted April 12, 2017 antonioj84, This looks pretty good: expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include "GUIExtender.au3" ; Create parent GUI $hGUI = GUICreate("Test", 1000, 300) GUISetState(@SW_HIDE, $hGUI) ; Create sections in main GUI _GUIExtender_Init($hGUI, 1) $iSection_1 = _GUIExtender_Section_Create($hGUI, 0, 500) ; Add some controls so we can see which section is which GUICtrlCreateLabel("", 0, 0, 500, 300) GUICtrlSetBkColor(-1, 0xCCCCFF) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlCreateLabel("I am the BLUE section that is static", 0, 100, 300, 20) ; Create the button which automatically activates next section of the same GUI _GUIExtender_Section_Activate($hGUI, $iSection_1 + 1, "", "", 470, 10, 20, 20) ; Create a button to action programatically a section of another GUI $cSect_4 = GUICtrlCreateButton("Section 4", 10, 270, 80, 30) $iSection_2 = _GUIExtender_Section_Create($hGUI, 500, 500) GUICtrlCreateLabel("", 500, 0, 500, 300) GUICtrlSetBkColor(-1, 0xFFCCCC) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlCreateLabel("I am the PINK section that opens and closes", 500, 100, 300, 20) ; Close section creation structure _GUIExtender_Section_Create($hGUI, -99) ; Create and position child GUI $aGUI_Pos = WinGetPos($hGUI) $hGUI_Child = GUICreate("Follower", 500, 200, 0, 0, BitOR($WS_POPUP, $WS_BORDER), 0, $hGUI) WinMove($hGUI_Child, "", $aGUI_Pos[0], $aGUI_Pos[1] + $aGUI_Pos[3]) GUISetState(@SW_HIDE, $hGUI_Child) ; Create section sin child GUI _GUIExtender_Init($hGUI_Child) $iSection_3 = _GUIExtender_Section_Create($hGUI_Child, 0, 1) ; I am the RED section that is static GUICtrlCreateLabel("", 0, 0, 500, 1) GUICtrlSetBkColor(-1, 0xFF0000) GUICtrlSetState(-1, $GUI_DISABLE) $iSection_4 = _GUIExtender_Section_Create($hGUI_Child, 1) GUICtrlCreateLabel("", 0, 1, 500, 200) GUICtrlSetBkColor(-1, 0xCCFFCC) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlCreateLabel("I am the Green section that opens and closes", 0, 100, 300, 20) ; Activate this section with no visible button _GUIExtender_Section_Activate($hGUI_Child, $iSection_4) ; Close section creation structure _GUIExtender_Section_Create($hGUI_Child, -99) ; Close extendable sections _GUIExtender_Section_Action($hGUI, $iSection_2, False) _GUIExtender_Section_Action($hGUI_Child, $iSection_4, False) ; And display the GUI(s) GUISetState(@SW_SHOW, $hGUI) GUISetState(@SW_SHOW, $hGUI_Child) ; Look for the main GUI moving GUIRegisterMsg($WM_MOVE, "_WM_MOVE") While 1 $iMsg = GUIGetMsg() Switch $iMsg Case $GUI_EVENT_CLOSE Exit Case $cSect_4 ; Toggle the section in the child GUI programatically _GUIExtender_Section_Action($hGUI_Child, $iSection_4, 9) EndSwitch ; Pass main GUI handle and event message to the UDF so it can action its extendable section automatically _GUIExtender_EventMonitor($hGUI, $iMsg) WEnd Func _WM_MOVE($hWnd, $iMsg, $wParam, $lParam) ; If the main GUI moves If $hWnd = $hGUI Then ; Move the child to follow Local $aGUI_Pos = WinGetPos($hWnd) WinMove($hGUI_Child, "", $aGUI_Pos[0], $aGUI_Pos[1] + $aGUI_Pos[3]) EndIf EndFunc ;==>_WM_MOVE Happy with that? M23 antonioj84 1 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
antonioj84 Posted April 12, 2017 Author Posted April 12, 2017 Hi Melba, you made my day. Just the Doctor prescribed, I am happy !!
antonioj84 Posted April 15, 2017 Author Posted April 15, 2017 (edited) expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <ButtonConstants.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include "GUIExtender.au3" ; Create parent GUI $hGUI = GUICreate("Store Build", 1000, 300) GUISetState(@SW_HIDE, $hGUI) ; Create sections in main GUI _GUIExtender_Init($hGUI, 1) $iSection_1 = _GUIExtender_Section_Create($hGUI, 0, 500) ;~GUICtrlCreateLabel("", 0, 0, 500, 300) ; label wont work ;~GUICtrlSetBkColor(-1, 0xCCCCFF) ; color wont apply ; Add some controls so we can see which section is which $Group1 = GUICtrlCreateGroup("POS", 16, 8, 177, 49) $Radio1 = GUICtrlCreateRadio("Fixed", 32, 32, 65, 17) $Radio2 = GUICtrlCreateRadio("Tablet", 120, 32, 65, 17) GUICtrlCreateGroup("", -99, -99, 1, 1) $hCombo = GUICtrlCreateCombo("", 304, 80, 37, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) GUICtrlSetData(-1, "");"sList1") $Setting = GUICtrlCreateButton("Setting", 80, 224, 65, 25) $Exit = GUICtrlCreateButton("Exit", 392, 224, 65, 25) $Button3 = GUICtrlCreateButton("Expand", 8, 224, 65, 25) $Input1 = GUICtrlCreateInput("", 208, 80, 57, 24) GUICtrlSetLimit(-1,4) ; to limit the entry to 3 chars GUICtrlSetTip(-1, "Enter Store Number") $RE = GUICtrlCreateLabel("RE", 272, 80, 22, 24, $SS_SUNKEN) $SREI = GUICtrlCreateLabel("SREI", 168, 80, 35, 28, BitOR($SS_CENTER,$SS_SUNKEN)) $Start = GUICtrlCreateButton("Start", 200, 120, 97, 33) ;GUICtrlCreateLabel("", 0, 0, 500, 300) ;GUICtrlSetBkColor(-1, 0xCCCCFF) ;GUICtrlSetState(-1, $GUI_DISABLE) ;GUICtrlCreateLabel("I am the BLUE section that is static", 0, 100, 300, 20) ; Create the button which automatically activates next section of the same GUI _GUIExtender_Section_Activate($hGUI, $iSection_1 + 1, "", "", 470, 10, 20, 20) ; Create a button to action programatically a section of another GUI $cSect_4 = GUICtrlCreateButton("Section 4", 10, 270, 80, 30) $iSection_2 = _GUIExtender_Section_Create($hGUI, 500, 500) GUICtrlCreateLabel("", 500, 0, 500, 300) GUICtrlSetBkColor(-1, 0xFFCCCC) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlCreateLabel("I am the PINK section that opens and closes", 500, 100, 300, 20) ; Close section creation structure _GUIExtender_Section_Create($hGUI, -99) ; Create and position child GUI $aGUI_Pos = WinGetPos($hGUI) $hGUI_Child = GUICreate("Follower", 500, 200, 0, 0, BitOR($WS_POPUP, $WS_BORDER), 0, $hGUI) WinMove($hGUI_Child, "", $aGUI_Pos[0], $aGUI_Pos[1] + $aGUI_Pos[3]) GUISetState(@SW_HIDE, $hGUI_Child) ; Create section sin child GUI _GUIExtender_Init($hGUI_Child) $iSection_3 = _GUIExtender_Section_Create($hGUI_Child, 0, 1) ; I am the RED section that is static GUICtrlCreateLabel("", 0, 0, 500, 1) GUICtrlSetBkColor(-1, 0xFF0000) GUICtrlSetState(-1, $GUI_DISABLE) $iSection_4 = _GUIExtender_Section_Create($hGUI_Child, 1) GUICtrlCreateLabel("", 0, 1, 500, 200) GUICtrlSetBkColor(-1, 0xCCFFCC) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlCreateLabel("I am the Green section that opens and closes", 0, 100, 300, 20) ; Activate this section with no visible button _GUIExtender_Section_Activate($hGUI_Child, $iSection_4) ; Close section creation structure _GUIExtender_Section_Create($hGUI_Child, -99) ; Close extendable sections _GUIExtender_Section_Action($hGUI, $iSection_2, False) _GUIExtender_Section_Action($hGUI_Child, $iSection_4, False) ; And display the GUI(s) $Group1 = GUICtrlCreateGroup("POS", 16, 8, 177, 49) $Radio1 = GUICtrlCreateRadio("Fixed", 32, 32, 65, 17) $Radio2 = GUICtrlCreateRadio("Tablet", 120, 32, 65, 17) GUICtrlCreateGroup("", -99, -99, 1, 1) $hCombo = GUICtrlCreateCombo("", 304, 80, 37, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) GUICtrlSetData(-1, "");"sList1") $Setting = GUICtrlCreateButton("Setting", 80, 224, 65, 25) $Exit = GUICtrlCreateButton("Exit", 392, 224, 65, 25) $Button3 = GUICtrlCreateButton("Expand", 8, 224, 65, 25) $Input1 = GUICtrlCreateInput("", 208, 80, 57, 24) GUICtrlSetLimit(-1,4) ; to limit the entry to 3 chars GUICtrlSetTip(-1, "Enter Store Number") $RE = GUICtrlCreateLabel("RE", 272, 80, 22, 24, $SS_SUNKEN) $SREI = GUICtrlCreateLabel("SREI", 168, 80, 35, 28, BitOR($SS_CENTER,$SS_SUNKEN)) $Start = GUICtrlCreateButton("Start", 200, 120, 97, 33) GUISetState(@SW_SHOW, $hGUI) GUISetState(@SW_SHOW, $hGUI_Child) ; Look for the main GUI moving GUIRegisterMsg($WM_MOVE, "_WM_MOVE") ; how do i access the control $iMsg from each 3 menu While 1 $iMsg = GUIGetMsg() Switch $iMsg Case $GUI_EVENT_CLOSE Exit Case $cSect_4 ; Toggle the section in the child GUI programatically _GUIExtender_Section_Action($hGUI_Child, $iSection_4, 9) EndSwitch ; Pass main GUI handle and event message to the UDF so it can action its extendable section automatically _GUIExtender_EventMonitor($hGUI, $iMsg) WEnd Func _WM_MOVE($hWnd, $iMsg, $wParam, $lParam) ; If the main GUI moves If $hWnd = $hGUI Then ; Move the child to follow Local $aGUI_Pos = WinGetPos($hWnd) WinMove($hGUI_Child, "", $aGUI_Pos[0], $aGUI_Pos[1] + $aGUI_Pos[3]) EndIf EndFunc ;==>_WM_MOVE hi Melba, i have these issues below: 1. Main menu i can not apply the colour blue (if colour is added the extender arrow no longer work) 2. The extended menu pink i can not add control in the menu 3. Bottom Menu is fine 4. How to access control for the 3 menus , can you provide an example ( 3 while loop or one single one) Edited April 15, 2017 by antonioj84 error
Moderators Melba23 Posted April 15, 2017 Moderators Posted April 15, 2017 antonioj84, 1. You forgot the line to disable the coloured label, so none of the other controls will work as AutoIt cannot tell which overlapped control you wish to action. 2. Just add them within the section creation structure as I have done in the amended example below. 3. You were reusing the same variable names that you used in the Blue section to store the ControlIDs for the controls in Green section. Hence you overwrote the Blue values and they no longer work. Just use different variable names - again as in the script below. 4. Just look for the ControlIDs as normal. Guess what? The example below shows you how to do it: expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <ButtonConstants.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <MsgBoxConstants.au3> #include "GUIExtender.au3" ; Create parent GUI $hGUI = GUICreate("Store Build", 1000, 300) GUISetState(@SW_HIDE, $hGUI) ; Create sections in main GUI _GUIExtender_Init($hGUI, 1) $iSection_1 = _GUIExtender_Section_Create($hGUI, 0, 500) GUICtrlCreateLabel("", 0, 0, 500, 300) GUICtrlSetBkColor(-1, 0xCCCCFF) GUICtrlSetState(-1, $GUI_DISABLE) ; You need to disbale the lable - you forgot to move that line <<<<<<<<<<<<<<<<<<<<< ; Add some controls so we can see which section is which $Group1 = GUICtrlCreateGroup("POS", 16, 8, 177, 49) $Radio1 = GUICtrlCreateRadio("Fixed", 32, 32, 65, 17) $Radio2 = GUICtrlCreateRadio("Tablet", 120, 32, 65, 17) GUICtrlCreateGroup("", -99, -99, 1, 1) $hCombo = GUICtrlCreateCombo("", 304, 80, 37, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) GUICtrlSetData(-1, "");"sList1") $Setting = GUICtrlCreateButton("Setting", 80, 224, 65, 25) $Exit = GUICtrlCreateButton("Exit", 392, 224, 65, 25) $Button3 = GUICtrlCreateButton("Expand", 8, 224, 65, 25) $Input1 = GUICtrlCreateInput("", 208, 80, 57, 24) GUICtrlSetLimit(-1,4) ; to limit the entry to 3 chars GUICtrlSetTip(-1, "Enter Store Number") $RE = GUICtrlCreateLabel("RE", 272, 80, 22, 24, $SS_SUNKEN) $SREI = GUICtrlCreateLabel("SREI", 168, 80, 35, 28, BitOR($SS_CENTER,$SS_SUNKEN)) $Start = GUICtrlCreateButton("Start", 200, 120, 97, 33) _GUIExtender_Section_Activate($hGUI, $iSection_1 + 1, "", "", 470, 10, 20, 20) ; Create a button to action programatically a section of another GUI $cSect_4 = GUICtrlCreateButton("Section 4", 10, 270, 80, 30) $iSection_2 = _GUIExtender_Section_Create($hGUI, 500, 500) GUICtrlCreateLabel("", 500, 0, 500, 300) GUICtrlSetBkColor(-1, 0xFFCCCC) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlCreateLabel("I am the PINK section that opens and closes", 500, 100, 300, 20) ; Add a control in the pink section <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $cPink_Button = GUICtrlCreateButton("Pink Test", 510, 10, 80, 30) ; Close section creation structure _GUIExtender_Section_Create($hGUI, -99) ; Create and position child GUI $aGUI_Pos = WinGetPos($hGUI) $hGUI_Child = GUICreate("Follower", 500, 200, 0, 0, BitOR($WS_POPUP, $WS_BORDER), 0, $hGUI) WinMove($hGUI_Child, "", $aGUI_Pos[0], $aGUI_Pos[1] + $aGUI_Pos[3]) GUISetState(@SW_HIDE, $hGUI_Child) ; Create section sin child GUI _GUIExtender_Init($hGUI_Child) $iSection_3 = _GUIExtender_Section_Create($hGUI_Child, 0, 1) ; I am the RED section that is static GUICtrlCreateLabel("", 0, 0, 500, 1) GUICtrlSetBkColor(-1, 0xFF0000) GUICtrlSetState(-1, $GUI_DISABLE) $iSection_4 = _GUIExtender_Section_Create($hGUI_Child, 1) GUICtrlCreateLabel("", 0, 1, 500, 200) GUICtrlSetBkColor(-1, 0xCCFFCC) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlCreateLabel("I am the Green section that opens and closes", 0, 100, 300, 20) ; Activate this section with no visible button _GUIExtender_Section_Activate($hGUI_Child, $iSection_4) ; Close section creation structure _GUIExtender_Section_Create($hGUI_Child, -99) ; Close extendable sections _GUIExtender_Section_Action($hGUI, $iSection_2, False) _GUIExtender_Section_Action($hGUI_Child, $iSection_4, False) ; And display the GUI(s) $Child_Group1 = GUICtrlCreateGroup("POS", 16, 8, 177, 49) ; You must use different variables to store the ControlIDS or you overwrite the earlier controls <<<<<<<<<<<<<<< $Child_Radio1 = GUICtrlCreateRadio("Fixed", 32, 32, 65, 17) $Child_Radio2 = GUICtrlCreateRadio("Tablet", 120, 32, 65, 17) GUICtrlCreateGroup("", -99, -99, 1, 1) $hChild_Combo = GUICtrlCreateCombo("", 304, 80, 37, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) GUICtrlSetData(-1, "");"sList1") $Child_Setting = GUICtrlCreateButton("Setting", 80, 224, 65, 25) $Child_Exit = GUICtrlCreateButton("Exit", 392, 224, 65, 25) $Child_Button3 = GUICtrlCreateButton("Expand", 8, 224, 65, 25) $Child_Input1 = GUICtrlCreateInput("", 208, 80, 57, 24) GUICtrlSetLimit(-1,4) ; to limit the entry to 3 chars GUICtrlSetTip(-1, "Enter Store Number") $Child_RE = GUICtrlCreateLabel("RE", 272, 80, 22, 24, $SS_SUNKEN) $Child_SREI = GUICtrlCreateLabel("SREI", 168, 80, 35, 28, BitOR($SS_CENTER,$SS_SUNKEN)) $Child_Start = GUICtrlCreateButton("Start", 200, 120, 97, 33) GUISetState(@SW_SHOW, $hGUI) GUISetState(@SW_SHOW, $hGUI_Child) ; Look for the main GUI moving GUIRegisterMsg($WM_MOVE, "_WM_MOVE") ; how do i access the control $iMsg from each 3 menu ; Just as you would normally <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< While 1 $iMsg = GUIGetMsg() Switch $iMsg Case $GUI_EVENT_CLOSE Exit Case $cSect_4 ; Toggle the section in the child GUI programatically _GUIExtender_Section_Action($hGUI_Child, $iSection_4, 9) Case $Start MsgBox($MB_SYSTEMMODAL, "Hi", "Start button in blue section pressed") Case $Child_Start MsgBox($MB_SYSTEMMODAL, "Hi", "Start button in green section pressed") Case $cPink_Button MsgBox($MB_SYSTEMMODAL, "Hi", "Test button in pink section pressed") EndSwitch ; Pass main GUI handle and event message to the UDF so it can action its extendable section automatically _GUIExtender_EventMonitor($hGUI, $iMsg) WEnd Func _WM_MOVE($hWnd, $iMsg, $wParam, $lParam) ; If the main GUI moves If $hWnd = $hGUI Then ; Move the child to follow Local $aGUI_Pos = WinGetPos($hWnd) WinMove($hGUI_Child, "", $aGUI_Pos[0], $aGUI_Pos[1] + $aGUI_Pos[3]) EndIf EndFunc ;==>_WM_MOVE Look for the <<<<<<< lines. M23 antonioj84 1 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
antonioj84 Posted April 16, 2017 Author Posted April 16, 2017 hi there Melba, i am almost there, your UdF is very helpful i am not able to pass value from the blue menu to the green menu otherwise i can send value directly to green . can you show me an example thanks
Moderators Melba23 Posted April 16, 2017 Moderators Posted April 16, 2017 antonioj84, That is nothing to do with my UDF. Just use GUICtrlRead on the controls you use to set the required values, concatenate them, and then add the resulting string to the control in the Green section. You created all of these controls inside your script so you can read and write to them as normal. If you want more help then post the script you are using so I do not have to write one. M23 P.S. And I have moved your last post to your existing GUIExtender help thread as it has nothing to do with the UDF. Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
antonioj84 Posted April 16, 2017 Author Posted April 16, 2017 hi Melba, Great to know, let me try to figure it out. Thanks
antonioj84 Posted April 16, 2017 Author Posted April 16, 2017 Hi Melba, you are correct, thanks so much for the assistance.
antonioj84 Posted July 3, 2017 Author Posted July 3, 2017 i am wondering does the GUI Extender support borderless GUI, i am trying to hack your code to no success, the closest i got.. the bottom of the GUI will be borderless, more in particular the Gui above post #11, i want top to be borderless #include <GuiconstantsEx.au3> #include <WindowsConstants.au3> #include <SendMessage.au3> Global Const $SC_DRAGMOVE = 0xF012 HotKeySet("{ESC}", "On_Exit") Func On_Exit() Exit EndFunc $hGUI = GUICreate("X", 50, 50, -1, -1, BitOR($WS_POPUP,$WS_BORDER), $WS_EX_TOPMOST) GUISetBkColor(0xFF0000, $hGUI) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_PRIMARYDOWN _SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0) EndSwitch WEnd
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now