MaxGUI EventExtra and ListBox example
BlitzMax Forums/MaxGUI Module/MaxGUI EventExtra and ListBox example
| ||
'For BlitzMax 1.22 with MaxGUI 'M.Rauch 11.12.2006 SuperStrict Type TItem Field Name:String Field Value:Int '... Function NewItem:TItem(Name:String,Value:Int) Local I:TItem = New TItem I.Name=Name I.Value=Value Return I End Function End Type MainLoop() End Function MainLoop() Local MainWindow:TGadget=CreateWindow("BlitzMax MaxGui and EventExtra",ClientWidth(Desktop())/2-200,ClientHeight(Desktop())/2-200,400,400,Null,WINDOW_TITLEBAR|WINDOW_STATUS) Local Item:TItem Local MyItems:TList=CreateList() MyItems.Addlast TItem.NewItem("Banane",100) MyItems.Addlast TItem.NewItem("Apfel",200) MyItems.Addlast TItem.NewItem("Birne",300) '---------- Local MyListeBox:TGadget=CreateListBox(0,0,128,128,MainWindow) 'fill ListBox from a list ClearGadgetItems MeineListeBox For Item= EachIn MyItems AddGadgetItem MyListeBox,Item.Name,0,-1,"",Item Next '---------- Repeat WaitEvent() Select EventID() '--------------------- Case EVENT_WINDOWCLOSE Select EventSource() Case MainWindow If Confirm("Close App. ?")=True Then Exit End Select '--------------------- Case EVENT_GADGETACTION Select EventSource() Case MyListeBox Item=TItem(EventExtra()) If Item=Null Then SetStatusText MainWindow,"Click to Empty Area :)" Else SetStatusText MainWindow,"Click "+Item.Name+":"+Item.Value EndIf End Select '--------------------- Case EVENT_GADGETSELECT Select EventSource() Case MyListeBox Item=TItem(EventExtra()) If Item=Null Then SetStatusText MainWindow,"Nothing selected" Else SetStatusText MainWindow,"Selected "+Item.Name+":"+Item.Value EndIf End Select '--------------------- End Select Forever 'Event Loop End Function |