[MaxGUI] multiple windows...
BlitzMax Forums/BlitzMax Beginners Area/[MaxGUI] multiple windows...| 
 | ||
| I have a new problem :) I have a main window and a secondary window. If I close the secondary window the program intercept the event 'Close window' and stop the program. How can I know WHO is the Source of the close event? I tried with EventSource() that should return the source object but I have an error...or probably I miss something! Please clarify me! Thanks 
Global win_main:tgadget
Global win_opt:tgadget
win_main=CreateWindow("Main Window",50,50,200,200)
win_opt=CreateWindow("Option",100,100,100,100)
While WaitEvent()
	evID=EventID()
	evsource=EventSource()
	Select EventID()
		Case EVENT_WINDOWCLOSE
			evSource=EventSource()'???? <---tgadget(EventSource())?
			evID=EventID()
			
			If evSource=win_opt And win_opt<>0 FreeGadget win_opt
			If evSource=win_main
				If win_opt<>Null FreeGadget win_opt
				FreeGadget win_main
				End
			End If
	EndSelect
Wend
 | 
| 
 | ||
| Is this what you mean? 
Global Window1:TGadget = CreateWindow("Window 1", 100,100,400,400)
	Global Button1:TGadget = CreateButton("Show", 10,10,100,25, Window1)
Global Window2:TGadget = CreateWindow("Window 2", 550, 100, 400,400)
While Not quit
	WaitEvent()
	
	Select EventID()
		Case EVENT_WINDOWCLOSE
			Select EventSource()
				Case Window1
					quit = True
				Case Window2
					HideGadget(Window2)
			End Select
		Case EVENT_GADGETACTION
			Select EventSource()
				Case Button1
					ShowGadget(Window2)
			End Select
	End Select
	
Wend
End
 | 
| 
 | ||
| Ok works fine, thank you very much! At last I found were I was wrong.. evSource:Object=EventSource() If evSource=window2 And window2<>Null FreeGadget window2 I missed to declare evSource as Object...many thanks!!! |