Treeview: Image nach Expanded anzeigen

01/04/2010 - 19:39 von Uwe | Report spam
Ich bins nochmal,

hoffentlich nerv ich euch nicht langsam mit meinem Treview.
Über eine Schaltflàche expandiere ich meinen kompletten Baum.
Dabei möchte ich alle Knoten die keine Nachkommen mehr haben
ein Image aus meiner Imagelist zuweisen.

Dim objNode As MSComctlLib.Node

For Each objNode In Me.acxTreeView.Nodes

objNode.Expanded = True

If objNode.Children = 0 Then
objNode.Image = 10
End If

Next objNode

Das Expandieren klappt bestens aber das Image wird nicht angezeigt.
Woran liegts denn ?

Gruß Uwe
 

Lesen sie die antworten

#1 Uwe
03/04/2010 - 12:54 | Warnen spam
Am 01.04.2010 19:39, schrieb Uwe:
Ich bins nochmal,

hoffentlich nerv ich euch nicht langsam mit meinem Treview.
Über eine Schaltflàche expandiere ich meinen kompletten Baum.
Dabei möchte ich alle Knoten die keine Nachkommen mehr haben
ein Image aus meiner Imagelist zuweisen.

Dim objNode As MSComctlLib.Node

For Each objNode In Me.acxTreeView.Nodes

objNode.Expanded = True

If objNode.Children = 0 Then
objNode.Image = 10
End If

Next objNode

Das Expandieren klappt bestens aber das Image wird nicht angezeigt.
Woran liegts denn ?

Gruß Uwe




Hat sich erledigt !!
Hab den Fehler gefunden.
Beim aufbauen des Baums weise ich die Images zu:

objNode.Image = 8
objNode.ExpandedImage = 9
If objNode.Children = 0 Then objNode.Image = 10
(Wenn keine Nachkommen dann Image 10 anzeigen)

Beim aufklappen des kompletten Baums mit

For Each objNode In Me.acxTreeView.Nodes
objNode.Expanded = True
Next objNode

wurde natürlich immer für den letzten Knoten das falsche Image nàmlich
Image 9 für ExpandedImage anstatt 10 angezeigt.

So funktionierts:

For Each objNode In Me.acxTreeView.Nodes
objNode.Expanded = True
'Wenn Knoten keine Kinder, dann nicht aufklappen da sonst
'für letzten Knoten falsches Image angezeigt wird
If objNode.Children = 0 Then objNode.Expanded = False
Next objNode

Gruß Uwe

Ähnliche fragen