Student_coder Posted May 24, 2016 Share Posted May 24, 2016 Hi Everyone , Am new in Autoit Coding. Am now trying to automate something. The issue am facing is :- There are 3 Forms in my script. In every form there is close button. If I click on the close button in 1st form then it's going out of the script which is fine. But If I click the close button in the second form it's not coming back to the 1st form. So please let me know if there any solution for this. Thanks for the help Link to comment Share on other sites More sharing options...
Student_coder Posted May 24, 2016 Author Share Posted May 24, 2016 Someone please reply me ..... Am stuck in between this script. Link to comment Share on other sites More sharing options...
AutoBert Posted May 24, 2016 Share Posted May 24, 2016 Read https://www.autoitscript.com/wiki/Managing_Multiple_GUIs Link to comment Share on other sites More sharing options...
Student_coder Posted May 24, 2016 Author Share Posted May 24, 2016 @AutoBert :- Ok. I will read it and try to figure it out. Thankyou Link to comment Share on other sites More sharing options...
Student_coder Posted May 24, 2016 Author Share Posted May 24, 2016 @AutoBert :- Consider this code. #include <GUIConstantsEx.au3> Global $hButton3 = 9999 gui1() Func gui1() $hGUI1 = GUICreate("Gui 1", 200, 200, 100, 100) $hButton1 = GUICtrlCreateButton("Msgbox 1", 10, 10, 80, 30) $hButton2 = GUICtrlCreateButton("Show Gui 2", 10, 60, 80, 30) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $hButton1 MsgBox("", "MsgBox 1", "Test from Gui 1") Case $hButton2 GUICtrlSetState($hButton2, $GUI_DISABLE) gui2() Case $hButton3 MsgBox("", "MsgBox 2", "Test from Gui 2") EndSwitch WEnd EndFunc ;==>gui1 Func gui2() $hGUI2 = GUICreate("Gui 2", 200, 200, 350, 350) $hButton3 = GUICtrlCreateButton("MsgBox 2", 10, 10, 80, 30) GUISetState() EndFunc ;==>gui2 Here if we select GUI2 and click close button we will come out of the script. That's my problem. The same issue i found in the link that you have given. Link to comment Share on other sites More sharing options...
AutoBert Posted May 24, 2016 Share Posted May 24, 2016 You had to read until end of "MessageLoop Mode" the last example is the real solution: Quote As you can see, we have a single While...WEnd loop which distinguishes between the two GUIs, both GUIs and their controls remain active and we stay in the main idle loop while we wait (you did read that other tutorial I hope!). , the examples before have issues, the issue of your concept: Quote The script exits because it has a single GUIGetMsg loop and the $GUI_EVENT_CLOSE message is received when either [X] is clicked - we have no way of telling the messages from the two GUIs apart. Link to comment Share on other sites More sharing options...
Student_coder Posted May 24, 2016 Author Share Posted May 24, 2016 @AutoBert Thankyou man....... I got it. 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