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
|