Jede Baumansicht wie die Komponente dient dazu, eine hierarchische Liste von Elementen anzuzeigen. Am häufigsten verwenden und sehen Sie jeden Tag den im Windows Explorer verwendeten Ordner, um Ordner (und mehr) in Ihrem Dateisystem anzuzeigen.
Delphi wird mit dem TTreeView-Steuerelement geliefert, das sich im Abschnitt "Win32" der Werkzeugpalette befindet. TTreeView ist in der ComCtrls-Einheit definiert und bietet eine anständige Aufgabe, mit der Sie jede Eltern-Kind-Beziehung für jeden Objekttyp darstellen können.
Obwohl es für die meisten Aufgaben leistungsfähig genug ist, wenn Ihre Anwendung auf der Anzeige hierarchischer Daten wie Ordner basiert und Dateien, XML-Struktur, alles andere, würden Sie bald erkennen, dass Sie mehr Leistung aus einer Baumansicht wie benötigen Komponente.
Mit mehr als 13 Jahren Entwicklungszeit ist Virtual TreeView eine der ausgefeiltesten, flexibelsten und fortschrittlichsten Open Source-Komponenten für den Delphi-Markt.
Egal, welche Delphi-Version Sie von Delphi 7 bis zur neuesten Version (derzeit XE3) verwenden, Sie können die Leistung von nutzen und nutzen
TVirtualStringTree und TVirtualDrawTree (die tatsächlichen Namen der Steuerelemente) in Ihren Anwendungen.Sie laden eine ZIP-Datei mit dem Quellcode, Paketen zur Installation der Komponente in Delphi, einigen Demos und weiteren Informationen herunter.
Entpacken Sie den Inhalt des Archivs in einen Ordner, in dem Sie andere Komponenten von Drittanbietern haben. Ich verwende "C: \ Benutzer \ Öffentlich \ Dokumente \ Delphi3rd \" und für mich lautet der Speicherort "C: \ Benutzer \ Öffentlich \ Dokumente \ Delphi3rd \ VirtualTreeviewV5.1.0".
Nach der Installation finden Sie drei Komponenten im Abschnitt "Virtuelle Steuerelemente" der Tool-Palette:
Sobald das Virtual TreeView-Paket in der Delphi / Rad Studio-IDE installiert ist, führen wir das Beispielprojekt aus dem heruntergeladenen Paket aus, um zu überprüfen, ob alles funktioniert.
Sehen Sie, wie schnell es ist, einem ausgewählten Knoten Hunderte (sogar Tausende) von Knoten als untergeordnete Knoten hinzuzufügen. Zum Schluss hier der (wichtige Implementierungs-) Quellcode für dieses Beispiel "Hallo Welt":