MAS Posted January 21, 2014 Posted January 21, 2014 (edited) Hello all I want to create 2 or more GUI displayed one after the other here's my example code expandcollapse popup#include <GUIConstantsEx.au3> #include <ColorConstants.au3> #include <GuiConstants.au3> Global $GUI1, $GUI2 Opt("GUIOnEventMode", 1) ; Change to OnEvent mode GUI1() Func GUI1() $GUI1 = GUICreate("title 1",600, 500, -1, -1, $ws_popup+$ws_caption) GUISetOnEvent($GUI_EVENT_CLOSE, "_CloseButton") GUISetState() $Button = GUICtrlCreateButton("Next Step", 414, 446, 142,32) GUICtrlSetOnEvent($Button, "GUI2") While 1 Sleep(100) WEnd EndFunc Func GUI2() GUISetState(@SW_HIDE, $GUI1) $GUI2 = GUICreate("title 2",600, 500, -1, -1) GUISetState() $Button2 = GUICtrlCreateButton("Next Step", 414, 446, 142,32) GUICtrlSetOnEvent($Button2, "button2") While 1 Sleep(100) WEnd EndFunc Func _CloseButton() Exit EndFunc Func Button2() MsgBox(0,'','gui2 working') EndFunc the button on GUI 2 is not responding when click it how I fix this thanks Edited January 21, 2014 by MAS
water Posted January 21, 2014 Posted January 21, 2014 The wiki has a very good tutorial that explains how to handle multiple GUIs. MAS 1 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Moderators Solution Melba23 Posted January 21, 2014 Moderators Solution Posted January 21, 2014 MAS,You are stuck in the loops within the functions - you need to return to a central idle loop or the Event functions are never called:Global $GUI1, $GUI2 Opt("GUIOnEventMode", 1) ; Change to OnEvent mode GUI1() While 1 Sleep(10) WEnd Func GUI1() $GUI1 = GUICreate("title 1", 600, 500, -1, -1, $ws_popup + $ws_caption) GUISetOnEvent($GUI_EVENT_CLOSE, "_CloseButton") $Button = GUICtrlCreateButton("Next Step", 414, 446, 142, 32) GUICtrlSetOnEvent($Button, "GUI2") GUISetState() EndFunc ;==>GUI1 Func GUI2() GUISetState(@SW_HIDE, $GUI1) $GUI2 = GUICreate("title 2", 600, 500, -1, -1) GUISetOnEvent($GUI_EVENT_CLOSE, "_CloseButton") $Button2 = GUICtrlCreateButton("Next Step", 414, 446, 142, 32) GUICtrlSetOnEvent($Button2, "button2") GUISetState() EndFunc ;==>GUI2 Func Button2() MsgBox(0, '', 'gui2 working') EndFunc ;==>Button2 Func _CloseButton() Exit EndFuncAll clear? M23P.S. When you post code please use Code tags - see here how to do it. Then you get a scrolling box and syntax colouring as you can see in my post. 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
kylomas Posted January 21, 2014 Posted January 21, 2014 Mas, Sooner or later you will want to know how to get back to your first gui... expandcollapse popup#include <GUIConstantsEx.au3> #include <ColorConstants.au3> #include <GuiConstants.au3> Global $GUI1, $GUI2 Opt("GUIOnEventMode", 1) ; Change to OnEvent mode GUI1() While 1 Sleep(100) WEnd Func GUI1() $GUI1 = GUICreate("title 1", 600, 500, -1, -1, $ws_popup + $ws_caption) GUISetOnEvent($GUI_EVENT_CLOSE, "_CloseButton") GUISetState() $Button = GUICtrlCreateButton("Next Step", 414, 446, 142, 32) GUICtrlSetOnEvent($Button, "GUI2") EndFunc ;==>GUI1 Func GUI2() GUISetState(@SW_HIDE, $GUI1) $GUI2 = GUICreate("title 2", 600, 500, -1, -1) GUISetOnEvent($GUI_EVENT_CLOSE, "_CloseButton") $Button2 = GUICtrlCreateButton("Next Step", 414, 446, 142, 32) GUICtrlSetOnEvent($Button2, "button2") GUISetState() EndFunc ;==>GUI2 Func _CloseButton() If @GUI_WinHandle = $GUI2 Then GUIDelete($GUI2) GUISetState(@SW_SHOW, $GUI1) Else Exit EndIf EndFunc ;==>_CloseButton Func Button2() MsgBox(0, '', 'gui2 working') EndFunc ;==>Button2 kylomas MAS 1 Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill
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