xbplistbox

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

xbplistbox

Beitrag von Rolf Ramacher »

Hallo zusammen

ich versuche mich gerade an einer Listbox, aber ich verstehe die Hilfe nicht.
Listbox wird erzeugt und ich muß ja abfragen welcher Eintrag ausgewählt wurde.

Hier die Listbox - laut hilfe soll itemselect ein codeblock dahinter folgen.
aber ich bekomme beim compilieren einen syntax fehler

Code: Alles auswählen

	oListBox := XbpListbox():new(oDlg,, aPos, {800, 480}) 
   oListBox:markMode := XBPLISTBOX_MM_SINGLE 
	oListbox:xbeLB_ItemSelected:={|| HisAdrAnzeige(oDlg,oListBox) }
   oListBox:create( ) 
	For j = 1 to Len(aHist)
		oListbox:addItem(dtoc(aHist[j][1])+space(2)+aHist[j][2])
	Next j

In der HisAdranzeige - wollte ich dann abfragen welcher Eintrag ausgewählt wurde. Wäre dies so richtig ???

Code: Alles auswählen

Function HisAdrAnzeige(oParent,oListbox)
	Local n:=0


	n:=oListBox:getitem()
msgbox(var2lchar(n))
Return Nil
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: xbplistbox

Beitrag von Tom »

Das ist falsch:

Code: Alles auswählen

oListbox:xbeLB_ItemSelected:={|| HisAdrAnzeige(oDlg,oListBox) }
So ist es richtig:

Code: Alles auswählen

oListbox:ItemSelected:={|| HisAdrAnzeige(oDlg,oListBox) }
"xbeLB_ItemSelected" ist ein Eventcode (Nachricht), den man im Handler auswerten könnte.

GetItem() verlangt einen numerischen Arrayindex (Position des Items, das man abfragen will). Den erhält man über oListBox:GetData(). Rückgabewert von GetData() ist ein eindimensionales Array, das alle numerischen Positionen der gewählten Einträge enthält, im Zweifelsfall mindestens einen (Listboxen erlauben auch multiple Selektionen). Also:

Code: Alles auswählen

cWert := oListBox:GetItem(oListBox:GetData()[1])
Herzlich,
Tom
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: xbplistbox

Beitrag von Rolf Ramacher »

danke Tom
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: xbplistbox

Beitrag von Tom »

Gerne. :)
Herzlich,
Tom
Antworten