MaxGUI EventExtra und ListBox Beispiel
Übersicht BlitzMax, BlitzMax NG FAQs und Tutorials
Markus2Betreff: MaxGUI EventExtra und ListBox Beispiel |
Mo, Dez 11, 2006 1:17 Antworten mit Zitat |
|
---|---|---|
Der Trick an EventExtra ist das man das Object was man zurück bekommt
einer Struktur als Parameter übergeben kann . Natürlich sollte man wenn man die ListBox füllt mit AddGadgetItem dort auch die selbige als Parameter bei Extra:Object rein tun . Einfach mal in die Liste klicken und auch mal nen doppel Klick machen . Code: [AUSKLAPPEN] 'Für BlitzMax 1.22 mit MaxGUI 'M.Rauch 11.12.2006 SuperStrict Type TItem Field Name:String Field Wert:Int '... Function NewItem:TItem(Name:String,Wert:Int) Local I:TItem = New TItem I.Name=Name I.Wert=Wert Return I End Function End Type MainLoop() End Function MainLoop() Local MainWindow:TGadget=CreateWindow("BlitzMax MaxGui und EventExtra",ClientWidth(Desktop())/2-200,ClientHeight(Desktop())/2-200,400,400,Null,WINDOW_TITLEBAR|WINDOW_STATUS) Local Item:TItem Local MeineItems:TList=CreateList() MeineItems.Addlast TItem.NewItem("Banane",100) MeineItems.Addlast TItem.NewItem("Apfel",200) MeineItems.Addlast TItem.NewItem("Birne",300) '---------- Local MeineListeBox:TGadget=CreateListBox(0,0,128,128,MainWindow) 'Aus einer Liste die Listbox füllen ClearGadgetItems MeineListeBox For Item= EachIn MeineItems AddGadgetItem MeineListeBox,Item.Name,0,-1,"",Item Next '---------- Repeat WaitEvent() Select EventID() '--------------------- Case EVENT_WINDOWCLOSE Select EventSource() Case MainWindow If Confirm("Wirklich beenden ?")=True Then Exit End Select '--------------------- Case EVENT_GADGETACTION Select EventSource() Case MeineListeBox Item=TItem(EventExtra()) If Item=Null Then SetStatusText MainWindow,"Klick ins leere :)" Else SetStatusText MainWindow,"Klick "+Item.Name+":"+Item.Wert EndIf End Select '--------------------- Case EVENT_GADGETSELECT Select EventSource() Case MeineListeBox Item=TItem(EventExtra()) If Item=Null Then SetStatusText MainWindow,"Nichts ausgewählt" Else SetStatusText MainWindow,"Auswahl "+Item.Name+":"+Item.Wert EndIf End Select '--------------------- End Select Forever 'Event Hauptschleife End Function |
||
Übersicht BlitzMax, BlitzMax NG FAQs und Tutorials
Powered by phpBB © 2001 - 2006, phpBB Group