Seite 1 von 1

Treeview Parent / im EN-Forum zwar lösung gefunden aber....

Verfasst: 08.03.2007 17:35
von Onkel-Till
Hallo,

vielleicht kann mir jemand das Brett vorm Kopp weg schlagen:

Ich würde gerne bei einem Treeview Gadget das Parent von einem
Item ermitteln. Ich habe etwas im Inet gesucht und bin im Englishen
Forum auf diesen Betrag gekommen:

http://www.purebasic.fr/english/viewtop ... iew+parent

leider ist TreeGadgetItemNumber() keine gültige Funktion?! Ich bin
nun etwas verwirrt vermutlich ist es total einfach aber wie gesagt
Brett vorm Kopf :-)


gruß
till

Verfasst: 08.03.2007 17:37
von Kaeru Gaman
der thread den du gefunden hast ist von 2003.

das commando TreeGadgetItemNumber() existiert in 4.0 nicht mehr.

mir ist im moment nicht bekannt, wie man das in 4.0 lösen muss, sorry.

Verfasst: 08.03.2007 17:42
von Onkel-Till
Hi,

danke das hat mit schonmal etwas weitergeholfen. Jedenfalls weis ich
nun das es nicht an "mir" liegt ;-)

Doof für's Projekt natürlich :-(

Verfasst: 08.03.2007 17:44
von Kaeru Gaman
einfach ein wenig geduld.

dieses thema ist nicht mein spezialgebiet, also kein wunder, dass ich nicht weiß wies geht.
aber es gibt noch ne menge andere progger, die sich mit Treeview-Gadgets besser auskennen.

du könntest auch in dem englischen thread einfach nachfragen,
wie man das jetzt lösen muss, wo es das alte command nicht mehr gibt.

Verfasst: 08.03.2007 17:57
von Kiffi
Mit dem Suchbegriff '#TVGN_PARENT', der im alten Code stand, kommt man
schon mal ein wenig weiter ;-)

http://www.purebasic.fr/german/viewtopi ... 4554#84554

Grüße ... Kiffi

Verfasst: 08.03.2007 18:57
von Fluid Byte

Code: Alles auswählen

OpenWindow(0,0,0,320,370,"untitled",#WS_OVERLAPPEDWINDOW | 1)
CreateGadgetList(WindowID(0))
TreeGadget(0,5,5,310,360)

For i=0 To 20
	AddGadgetItem(0,-1,"Tree-View Item #" + RSet(Str(i+1),2,"0"),0,Random(2))
	SetGadgetState(0,i)
Next

Repeat
	EventID = WaitWindowEvent()
	
	If EventID = #PB_Event_Gadget And EventType() = #PB_EventType_LeftClick 
		CurrentItem = GetGadgetState(0)
		
		CurrentLevel = GetGadgetItemAttribute(0,CurrentItem,#PB_Tree_SubLevel)

		If CurrentLevel > 0				
			For i = CurrentItem-1 To 0 Step -1			
				If GetGadgetItemAttribute(0,i,#PB_Tree_SubLevel) < CurrentLevel
					Debug "ITEM PARENT ID: #" + RSet(Str(i+1),2,"0")
					Break
				EndIf				
			Next		
		Else
			Debug "ITEM DOESN'T HAVE A PARENT"			
		EndIf
	EndIf
Until EventID = 16