VB-Homepage Tipp 355

TreeView / ListView / ImageList Control

Extended Tipp
Das sind Tipps, die den normalen Umfang eines Tipps bei weitem übersteigen und schon eher der Abhandlung eines Teilgebiets der Programmierung mit VB entsprechen.

Hier soll es diesmal um die Betrachtung einiger neuerer VB Controls und deren sinnvolles Zusammenspiel gehen.

Das "Microsoft Windows Common Control 6.0" - mscomctl.ocx -
[hier Version 6.00.8177] bringt unter anderem das

Strukturansicht-Steuerelement (TreeView) , das
Listenansicht-Steuerelement (ListView) und das
Abbildungsliste-Steuerelement (ImageList) mit.

Der wohl bekannteste Vertreter von Programmen, die diese neuere Darstellungsweise von Strukturen verwenden, dürfte der Windows Explorer sein.

Definition Strukturansicht-Steuerelement
Ein Strukturansicht-Steuerelement (TreeView) zeigt eine hierarchische Liste von Node-Objekten (Knoten) an, die aus einer Beschriftung und einer optionalen Bitmap bestehen. Ein Strukturansicht-Steuerelement wird in der Regel zum Anzeigen von Dokument-Überschriften, Indexeinträgen, Datei- und Verzeichnisstrukturen auf einem Datenträger oder zum Anzeigen beliebiger anderer Informationen verwendet werden, wo es nützlich ist diese als Hierarchie darzustellen.

Definition Listenansicht-Steuerelement
Ein Listenansicht-Steuerelement (ListView) dient dem Anzeigen von Elementen unter Verwendung einer von vier unterschiedlichen Ansichten. Sie haben die Möglichkeit, Elemente in Spalten (mit und ohne Spaltenkopfzeilen) anzuordnen, und Sie können entscheiden, ob zugehörige Symbole und zugehöriger Text angezeigt werden sollen.

Definition Abbildungsliste-Steuerelement
Ein Abbildungsliste-Steuerelement (ImageList) enthält eine Auflistung von ListImage-Objekten, von denen auf jedes durch den zugehörigen Index oder Schlüssel verwiesen werden kann. Das Abbildungsliste-Steuerelement ist nicht dazu gedacht, separat verwendet zu werden, sondern als zentraler Behälter, um andere Steuerelemente mit Abbildungen zu versorgen.


1. Projekt
Die Einträge in einem TreeView Control werden als Nodes (Knoten) bezeichnet. Mit diesem Control befaßt sich auch das erste im Download enthaltene VB6 Projekt ausgiebig. Sie werden die gebräuchlichsten Eigenschaften (Style;LineStyle;LabelEdit;SingleSel;HideSelection;HotTracking und Tag) und Methoden (Expand;Collaps;NodesClick) kennen lernen und können direkt die Auswirkungen der Eigenschaftenänderung nachvollziehen.

Es wird erläutern, wie Nodes angelegt und wie Unterpunkte von diesen erstellt werden. Enthalten ist auch die Zuweisung von Grafiken aus dem ImageList Control, sowohl an Nodes Gruppen als auch an einzelne Nodes und die Modifizierung der Grafiken bei einer Zustandsänderung der Nodes (geschlossen,geöffnet).
Sie erhalten außerdem zu vielen der Eigenschaften und Methoden genauere Informationen angezeigt.


2. Projekt
Hier soll es um die praktische Umsetzung der Nutzung aller drei Controls und deren Zusammenspiel an Hand der Darstellung von Dateisystemen gehen.
Wieder geht es um das Erstellen von Nodes und deren Unterstrukturen, Sie werden erkennen, daß ein primärer Erfolgsfaktor bei der Darstellung von "lebenden" Strukturen (die also nicht von vornherein bekannt sind und sich ändern können) in der Absicherung der Eindeutigkeit der Nodesnamens ist.
'Nodes anlegen
TreeView1.Nodes.Add(,,"NameRoot1","Root1")

NameRoot1 = steht hier für den eindeutigen Namen des Eintrags
Root1 = steht für den Anzeigetext

'Unterpunkt tvwChild anlegen
TreeView1.Nodes.Add("NameRoot1", tvwChild,"Root1_Ch1","Child1")
NameRoot1 = steht für den eindeutigen Namen des Übergeordneten Nodes
tvwChild = gibt an, daß es sich um einen untergeordneten Eintrag handelt
Root1_Ch1 = steht für den eindeitigen Namen des Eintrags
Child1 = ist der Anzeigetext

In unserem Demoprojekt spielt nun auch das ListView Control mit seinen Möglichkeiten (große oder kleine Symbol-, Listen- oder Detailansicht) eine Rolle. Es wird zur Darstellungen der enthaltenen Dateien eines gewählten Verzeichnisses genutzt. Und natürlich ist auch das ImageList Control zur Zuweisung von Grafiken wieder mit von der Partie.


3. Projekt
Ist kein Projekt, das im Download enthalten ist, sondern vielmehr der Verweiß auf zwei im Lieferumfang von VB enthaltene Demoprojekt, die ebenfalls genutzt werden können um sich mit der Thematik vertraut zu machen.
\SAMPLES\PGUIDE\OPTIMIZE\OPTIMIZE.VBP =
nutzt das TreeView/ImageList Control zur Darstellung einer einfachen, vorab bekannten Struktur

\SAMPLE\COMPTOOL\DATATREE\DATATREE.VBP
nutzt das TreeView/ListView/ImageList Control zur Darstellung von Datenbankeninhalten (hier Biblio.mdb)
 
Also dann, guten Download und gutes Gelingen.


Tipp-Download

Quelle :

Zurück zur Übersichtsseite