Arclite86 Posted October 13, 2014 Share Posted October 13, 2014 Hi I would like to create a drop-down window that for example you click on a button and the form will expand and shows other buttons and functions and if you click again it will Decrease the form and hide the button and functions again. how do I do this? Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 13, 2014 Moderators Share Posted October 13, 2014 Arclite86,Look at my GUIExtender UDF (the link is in my sig) - it is exactly what you need. 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 Link to comment Share on other sites More sharing options...
Arclite86 Posted October 23, 2014 Author Share Posted October 23, 2014 Arclite86, Look at my GUIExtender UDF (the link is in my sig) - it is exactly what you need. M23 Thank you Melba23 it worked im using this code for a vertical reducer and extender $iEdit_Section_Start = 30 $iEdit_Section_Height = 250 $iEdit_Section = _GUIExtender_Section_Start($Form1_1_1_1, $iEdit_Section_Start, $iEdit_Section_Height) _GUIExtender_Section_Action($Form1_1_1_1, $iEdit_Section) ; All control positions can then be related to the section start rather than the GUI <<<<<<<<<<<<< ; Now you can check that the _Section_Height is correct and amend if necessary <<<<<<<<<<<<< _GUIExtender_Section_End($Form1_1_1_1) _GUIExtender_Section_Extend($Form1_1_1_1, 0, False) Now I would like a horizontal reducer and extender that works the same as the code above If i could somehow chance $iEdit_Section_Height = 250 to $iEdit_Section_width = 250 my form is $Form1_1_1_1 = GUICreate("", 852, 715, 688, 114) and I would like to reduce the width with 300 from the right just like the code above but than in horizontal could somebody help me please. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 23, 2014 Moderators Share Posted October 23, 2014 Arclite86, I would like a horizontal reducer and extenderNot that hard to code: #include <GUIConstantsEx.au3> #include <GUIExtender.au3> $Form1_1_1_1 = GUICreate("", 852, 715, 688, 114) _GUIExtender_Init($Form1_1_1_1, 1) ; Horizontal extension $iEdit_Section_Start = 552 $iEdit_Section_Width = 300 $iEdit_Section = _GUIExtender_Section_Start($Form1_1_1_1, $iEdit_Section_Start, $iEdit_Section_Width) _GUIExtender_Section_End($Form1_1_1_1) ; This must be created OUTSIDE the section it actions _GUIExtender_Section_Action($Form1_1_1_1, $iEdit_Section, "Close", "Open", 450, 10, 80, 30) _GUIExtender_Section_Extend($Form1_1_1_1, 0, False) GUISetState() While 1 $iMsg = GUIGetMsg() Switch $iMsg Case $GUI_EVENT_CLOSE Exit EndSwitch _GUIExtender_Action($Form1_1_1_1, $iMsg) WEndIs that what you wanted? 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 Link to comment Share on other sites More sharing options...
Arclite86 Posted October 23, 2014 Author Share Posted October 23, 2014 Arclite86, Not that hard to code: #include <GUIConstantsEx.au3> #include <GUIExtender.au3> $Form1_1_1_1 = GUICreate("", 852, 715, 688, 114) _GUIExtender_Init($Form1_1_1_1, 1) ; Horizontal extension $iEdit_Section_Start = 552 $iEdit_Section_Width = 300 $iEdit_Section = _GUIExtender_Section_Start($Form1_1_1_1, $iEdit_Section_Start, $iEdit_Section_Width) _GUIExtender_Section_End($Form1_1_1_1) ; This must be created OUTSIDE the section it actions _GUIExtender_Section_Action($Form1_1_1_1, $iEdit_Section, "Close", "Open", 450, 10, 80, 30) _GUIExtender_Section_Extend($Form1_1_1_1, 0, False) GUISetState() While 1 $iMsg = GUIGetMsg() Switch $iMsg Case $GUI_EVENT_CLOSE Exit EndSwitch _GUIExtender_Action($Form1_1_1_1, $iMsg) WEnd Is that what you wanted? M23 okay I see Im am trying to create 2 buttons, one for an vertical and the other for horizontal but when I try this $vertical = GUICtrlCreateButton("vertical", 288, 424, 89, 17) $horizontal = GUICtrlCreateButton("horizontal", 504, 32, 65, 33) $iEdit_Section_Start = 30 $iEdit_Section_Height = 250 $iEdit_Section = _GUIExtender_Section_Start($Form1_1_1_1, $iEdit_Section_Start, $iEdit_Section_Height) _GUIExtender_Section_Action($Form1_1_1_1, $iEdit_Section) ; All control positions can then be related to the section start rather than the GUI <<<<<<<<<<<<< ; Now you can check that the _Section_Height is correct and amend if necessary <<<<<<<<<<<<< _GUIExtender_Section_End($Form1_1_1_1) _GUIExtender_Section_Extend($Form1_1_1_1, 0, False) _GUIExtender_Init($Form1_1_1_1, 1) ; Horizontal extension $iEdit_Section_Start = 552 $iEdit_Section_Width = 300 $iEdit_Section = _GUIExtender_Section_Start($Form1_1_1_1, $iEdit_Section_Start, $iEdit_Section_Width) _GUIExtender_Section_End($Form1_1_1_1) ; This must be created OUTSIDE the section it actions _GUIExtender_Section_Action($Form1_1_1_1, $iEdit_Section, "Close", "Open", 450, 10, 80, 30) _GUIExtender_Section_Extend($Form1_1_1_1, 0, False) GUISetState() both buttons ($vertical and $horizontal) dont work, can this be solved? Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 23, 2014 Moderators Share Posted October 23, 2014 Arclite86, Im am trying to create 2 buttons, one for an vertical and the other for horizontalThat is not possible - you can only extend in one sense or the other (as set in the _GUIExtender_Init call), not both in the same GUI. I did try to code for that but it got far too complicated and I abandoned the idea. >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 Link to comment Share on other sites More sharing options...
Arclite86 Posted October 23, 2014 Author Share Posted October 23, 2014 Arclite86, That is not possible - you can only extend in one sense or the other (as set in the _GUIExtender_Init call), not both in the same GUI. I did try to code for that but it got far too complicated and I abandoned the idea. > M23 okay thank you anyways Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 23, 2014 Moderators Share Posted October 23, 2014 Arclite86,When you reply, please use the "Reply to this topic" button at the top of the thread or the "Reply to this topic" editor at the bottom rather than the "Quote" button - I know what I wrote and it just pads the thread unnecessarily. 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 Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 23, 2014 Moderators Share Posted October 23, 2014 Arclite86,Does this meet your requirements? expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <GUIExtender.au3> $hGUI_Vert = GUICreate("", 500, 500, 300, 200, BitOR($WS_POPUP, $WS_BORDER)) _GUIExtender_Init($hGUI_Vert) $iVert_Section_Start = 300 $iVert_Section_Height = 200 $iVert_Section = _GUIExtender_Section_Start($hGUI_Vert, $iVert_Section_Start, $iVert_Section_Height) _GUIExtender_Section_End($hGUI_Vert) GUISetState() $hGUI_Horz = GUICreate("", 800, 300, 300, 225, BitOR($WS_POPUP, $WS_BORDER)) _GUIExtender_Init($hGUI_Horz, 1) ; Horizontal extension $iHorz_Section_Start = 500 $iHorz_Section_Width = 300 $iHorz_Section = _GUIExtender_Section_Start($hGUI_Horz, $iHorz_Section_Start, $iHorz_Section_Width) _GUIExtender_Section_End($hGUI_Horz) GUISetState() $hGUI_Main = GUICreate("", 500, 300, 300, 200) _GUIExtender_Section_Action($hGUI_Horz, $iHorz_Section, "Horz Close", "Horz Open", 350, 10, 130, 30) _GUIExtender_Section_Action($hGUI_Vert, $iVert_Section, "Vert Close", "Vert Open", 350, 50, 130, 30) GUISetState() WinSetOnTop($hGUI_Main, "", 1) _GUIExtender_Section_Extend($hGUI_Horz, 0, False) _GUIExtender_Section_Extend($hGUI_Vert, 0, False) GUISetState() GUIRegisterMsg($WM_MOVE, "_WM_MOVE") While 1 $iMsg = GUIGetMsg() Switch $iMsg Case $GUI_EVENT_CLOSE Exit EndSwitch _GUIExtender_Action($hGUI_Horz, $iMsg) _GUIExtender_Action($hGUI_Vert, $iMsg) WEnd Func _WM_MOVE($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $wParam, $lParam Switch $hWnd Case $hGUI_Main _SynchroGUIs() EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>_WM_MOVE Func _SynchroGUIs() Local $aPos_Vert = WinGetPos($hGUI_Main) WinMove($hGUI_Horz, "", $aPos_Vert[0], $aPos_Vert[1] + 25) WinMove($hGUI_Vert, "", $aPos_Vert[0], $aPos_Vert[1]) EndFunc ;==>_SynchroGUIsIt needs a bit of refinement, but before I start I would like to know if it is worth pursuing this line of attack. 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 Link to comment Share on other sites More sharing options...
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