Bugged Editable ComboBox w/ Event-Hooks
Archives Forums/MaxGUI Bug Reports/Bugged Editable ComboBox w/ Event-Hooks| 
 | ||
| Example program demonstrates the issue. Compile and run. Select different items in the non-editable box, and note the Event.Data output to the console. Looks normal - the index 0,1,or 2 appears. Now select different items in the editable box, and again note the Event.Data output to the console. Instead of printing just Event.Data once, the program Event.Data, then -1, then Event.Data again. 
SuperStrict
Import MaxGUI.Drivers
Global Window:TGadget = CreateWindow("",0,0,200,80,Desktop(),WINDOW_CENTER|WINDOW_TITLEBAR|WINDOW_STATUS|WINDOW_CLIENTCOORDS)
SetStatusText(Window,"Observe Console for Event.Data")
Global SectionLabel:TGadget = CreateLabel("Regular TGadgets",0,0,200,20,Window,LABEL_FRAME|LABEL_CENTER)
Global Label:TGadget = CreateLabel("Non-Editable",0,25,100,20,Window)
Global Label2:TGadget = CreateLabel("Editable",100,25,100,20,Window)
Global Combo:TGadget = CreateComboBox(0,45,100,40,Window)
	AddGadgetItem(Combo,"One",GADGETITEM_DEFAULT)
	AddGadgetItem(Combo,"Two")
	AddGadgetItem(Combo,"Three")
	
Global ComboEdit:TGadget = CreateComboBox(100,45,100,40,Window,COMBOBOX_EDITABLE)
	AddGadgetItem(ComboEdit,"Four",GADGETITEM_DEFAULT)
	AddGadgetItem(ComboEdit,"Five")
	AddGadgetItem(ComboEdit,"Six")
AddHook EmitEventHook,EventManager
While Not AppTerminate()
	WaitEvent()
Wend
Function EventManager:Object(ID:Int,Data:Object,Context:Object)
	Local Event:TEvent = TEvent(Data)
		
	Select Event.ID		
	
	Case EVENT_GADGETACTION
		Print Event.Data
			
	Case EVENT_WINDOWCLOSE
		End
		
	End Select		
	
End Function
 |