ListBox wie verwenden?
Übersicht

![]() |
Mathias-KwiatkowskiBetreff: ListBox wie verwenden? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie kann ich eine Listbox abfragen, worauf man geklickt hat?
Ich habe nun verschiedenes Probiert, aber ich komm da nicht wirklich hinter, habe es mit EventSource und mit EventData versucht. mein ziel ist es herauszufinden worauf man geklickt hat und dann anzuzeigen wie das item heisst. EDIT: Code: [AUSKLAPPEN] ' createlistbox.bmx
Strict Local window:TGadget Local listbox:TGadget window=CreateWindow("My Window",30,20,200,200) Const ETIP$="Greate for lovers of rain, mushy peas and stomping beats.~r~nNew line..." listbox=CreateListBox(4,4,100,80,window) AddGadgetItem listbox,"German" AddGadgetItem listbox,"England",False,-1,ETIP AddGadgetItem listbox,"French",False,-1,"tip - goes here","mystringobject" SelectGadgetItem listbox,2 Print "SelectedGadgetItem()="+SelectedGadgetItem(listbox) '-1 means none selected While WaitEvent() Print CurrentEvent.ToString() If EventSource()=listbox Print "SelectedGadgetItem()="+SelectedGadgetItem(listbox) If EventData()<>SelectedGadgetItem(listbox) Print "error with skidracer" EndIf Select EventID() Case EVENT_WINDOWCLOSE End End Select Wend Das Beispiel ist ja schön, nur leider zeigt es nicht den namen des items an. ![]() |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn man einen Eintrag normal anklickt, wird ein EVENT_GADGETSELECT gesendet. Als Eventdata kommt dabei die ID des Items mit dem Event. Das erste Item hat die ID 0. Bei Doppelklicks muss man etwas tricksen. Wenn ein Gadgetselect kommt, und das gleiche Item, welches eventdata() liefert, schon vorher markiert war, dann hat jemand gedoppelklickt. Dazu musst den Den Itemzustand in einer Variable zwischenspeichern, die du lastselected oder so nennen kannst.
MfG |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab das Example mal etwas verändert:
Code: [AUSKLAPPEN] SuperStrict
Framework BRL.Win32MaxGUI Import BRL.EventQueue Local window:TGadget Local listbox:TGadget window=CreateWindow("My Window",30,20,200,200) Const ETIP$="Greate for lovers of rain, mushy peas and stomping beats.~r~nNew line..." listbox=CreateListBox(4,4,100,80,window) AddGadgetItem listbox,"German" AddGadgetItem listbox,"England",False,-1,ETIP AddGadgetItem listbox,"French",False,-1,"tip - goes here","mystringobject" SelectGadgetItem listbox,2 While WaitEvent() Select EventID() Case EVENT_WINDOWCLOSE Exit Case EVENT_GADGETACTION If EventSource()=listbox Print "Doppelklick auf: "+GadgetItemText(listbox,EventData()) Case EVENT_GADGETSELECT If EventSource()=listbox Print "Ausgewaehlt: "+GadgetItemText(listbox,EventData()) EndSelect Wend Bei EVENT_GADGETACTION und EVENT_GADGETSELECT wird die ItemID im Data-Feld gespeichert. (bzw EventData()) Notfalls könnte man aber auch SelectedGadgetItem(gadget) verwenden. Gruß, FOODy |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group