Oddball Posted June 20, 2005 Posted June 20, 2005 (edited) Hello I'm using AutoIt v.3 for about a week, maybe 2. But I ran into a problem, I have made a script, in several parts, and I want to have 2 GUIs running at the same time. Both GUIs have an OK button, some text, one has an Input box and the other has an Combo box. This isn't a problem, that occurs when I want to close one of them and continue using the other. With my, limited, knowledge of AutoIt I can not solf this problem, hopefully you guys can help me out with a push in the right direction or a piece of script. Thanx in advance Edited June 20, 2005 by Oddball I like work: it fascinates me. I can sit and look at it for hours.
w0uter Posted June 20, 2005 Posted June 20, 2005 EWW GUY'sbut for real. we could help you alot faster if you posted a snippet of your code. My UDF's:;mem stuff_Mem;ftp stuff_FTP ( OLD );inet stuff_INetGetSource ( OLD )_INetGetImage _INetBrowse ( Collection )_EncodeUrl_NetStat_Google;random stuff_iPixelSearch_DiceRoll
MSLx Fanboy Posted June 20, 2005 Posted June 20, 2005 GUIGetMsg(1) should do the trick for ya! Writing AutoIt scripts since _DateAdd("d", -2, _NowCalcDate())
Oddball Posted June 20, 2005 Author Posted June 20, 2005 EWW GUY'sbut for real. we could help you alot faster if you posted a snippet of your code.<{POST_SNAPBACK}>OK, first of all, I made a typo in the title, stupid Second, as I said, I have my script in parts, as I am still learning the language, so I'm gone send the bit I have on the multiple GUIs now, the problem is that I can't close only one, but they both close.#include <GUIConstants.au3>Opt("GUIOnEventMode", 1) ; Change to OnEvent mode $test = GUICreate("test", 200, 100)GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")GUICtrlCreateLabel("test test! test test test?", 30, 10)$okbutton = GUICtrlCreateButton("OK", 70, 50, 60)GUICtrlSetOnEvent($okbutton, "OKButton")GUISetState(@SW_SHOW)$test2 = GUICreate("test2", 200, 100)GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked2")GUICtrlCreateLabel("test test2! test2 test2 test2?", 30, 10)$okbutton2 = GUICtrlCreateButton("OK", 70, 50, 60)GUICtrlSetOnEvent($okbutton2, "OKButton2")GUISetState(@SW_SHOW)While 1 Sleep(1000) ; Idle aroundWEndFunc OKButton() ;Note: at this point @GUI_CTRLID would equal $okbutton, ;and @GUI_WINHANDLE would equal $test MsgBox(0, "GUI Event", "You pressed OK!")EndFuncFunc OKButton2() ;Note: at this point @GUI_CTRLID would equal $okbutton2, ;and @GUI_WINHANDLE would equal $test2 MsgBox(0, "GUI Event", "You pressed OK2!")EndFuncFunc CLOSEClicked() ;Note: at this point @GUI_CTRLID would equal $GUI_EVENT_CLOSE, ;and @GUI_WINHANDLE would equal $test MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting...") ExitEndFuncFunc CLOSEClicked2() ;Note: at this point @GUI_CTRLID would equal $GUI_EVENT_CLOSE, ;and @GUI_WINHANDLE would equal $test 2 MsgBox(0, "GUI Event2", "You clicked CLOSE2! Exiting2...") ExitEndFuncI copied a great deal from the documentation and modified it but I can't get any further. I like work: it fascinates me. I can sit and look at it for hours.
w0uter Posted June 20, 2005 Posted June 20, 2005 something like this ? expandcollapse popupGlobal $counttillclose = 0 #include <GUIConstants.au3> Opt("GUIOnEventMode", 1) ; Change to OnEvent mode $test = GUICreate("test", 200, 100) GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") GUICtrlCreateLabel("test test! test test test?", 30, 10) $okbutton = GUICtrlCreateButton("OK", 70, 50, 60) GUICtrlSetOnEvent($okbutton, "OKButton") GUISetState(@SW_SHOW) $test2 = GUICreate("test2", 200, 100) GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") GUICtrlCreateLabel("test test2! test2 test2 test2?", 30, 10) $okbutton2 = GUICtrlCreateButton("OK", 70, 50, 60) GUICtrlSetOnEvent($okbutton2, "OKButton2") GUISetState(@SW_SHOW) While 1 Sleep(1000) ; Idle around If $counttillclose = 2 Then ExitLoop WEnd Func OKButton() ;Note: at this point @GUI_CTRLID would equal $okbutton, ;and @GUI_WINHANDLE would equal $test MsgBox(0, "GUI Event", "You pressed OK!") EndFunc Func OKButton2() ;Note: at this point @GUI_CTRLID would equal $okbutton2, ;and @GUI_WINHANDLE would equal $test2 MsgBox(0, "GUI Event", "You pressed OK2!") EndFunc Func CLOSEClicked() ;Note: at this point @GUI_CTRLID would equal $GUI_EVENT_CLOSE, ;and @GUI_WINHANDLE would equal $test MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting...") GUIDelete(@GUI_WinHandle) $counttillclose += 1 EndFunc My UDF's:;mem stuff_Mem;ftp stuff_FTP ( OLD );inet stuff_INetGetSource ( OLD )_INetGetImage _INetBrowse ( Collection )_EncodeUrl_NetStat_Google;random stuff_iPixelSearch_DiceRoll
Oddball Posted June 21, 2005 Author Posted June 21, 2005 Thanks, it works!! Now I can continue to make my complete script. One question, the "Global" thing on the first line, what does it stand for, I can't find it in the documentation. Oh, and the + in front of the = sign on the first to last line has to be removed, otherwise it will generate an error message. I like work: it fascinates me. I can sit and look at it for hours.
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