Ist es möglich, VirtualStringTree für eine Master-Detailrasteransicht zu verwenden?

8

Okay, ich habe hier etwas wirklich kniffliges ... Ich möchte Header zu einem ChildNode zeichnen / verwenden. Ich denke, die Idee ist vernünftig, weil es erstaunlich wäre, Header in Unterknoten zu haben, so dass die Childnodes in einer Tabelle spezifiziert werden können. Gibt es ein Feature, das VST überhaupt hat oder nicht?

Danke für Ihre Hilfe.

    
Benjamin Weiss 27.08.2012, 17:00
quelle

1 Antwort

14

1. Gibt es eine Möglichkeit, VirtualTreeView für eine Master- / Detailrasteransicht zu verwenden?

Nein, zu diesem Zeitpunkt ist keine solche Funktion verfügbar und IMHO wird dies nicht sein, da dies einen sehr großen Eingriff in einen bestehenden Code bedeuten würde.

2. Wie erstellt man einen voll funktionsfähigen Header für eine Kind-Knoten-Detailrasteransicht?

Betrachtet man einige Möglichkeiten, wie man Header-Look und Verhalten für untergeordnete Knoten simuliert, habe ich herausgefunden, dass es nützlich ist, verschachtelte Baumansichten für eine Detailrasteransicht zu verwenden. Dadurch erhalten Sie die Separation für Ihre Detaildaten und können die gesamte Simulation auf die Positionierung der verschachtelten Baumansicht im Rechteck eines untergeordneten Knotens minimieren.

2.1. Startup-Projekt

Im folgenden Projekt versuche ich zu zeigen, wie kompliziert eine so einfache Aufgabe wie die Positionierung eines Controls innerhalb eines Child-Knotens implementiert werden könnte (ohne den ursprünglichen VirtualTree-Code einzubeziehen). Nimm es einfach als Startup-Projekt, nicht als endgültige Lösung.

2.2. Bekannte Probleme & amp; Einschränkungen:

  • Dieses Projekt wurde geschrieben und getestet, um nur ein Kind pro Wurzelknoten zu verwenden. Seien Sie also nicht überrascht, wenn Sie dieses Limit überschreiten, weil es nicht für
  • entworfen oder sogar getestet wurde
  • Wenn eine Spaltengröße in der Hauptspalte einer Doppelklick-Spalte die Größenänderung der Spalte animiert, werden die verschachtelten Baumansichten mit Linien überzeichnet, wenn die Leinwand durch die ScrollDC-Funktion
  • gescrollt wird
  • um den VirtualTree-Code unverändert zu lassen Ich habe die Methode zum Aktualisieren der Bildlaufleisten außer Kraft gesetzt. Es wird verwendet, um die Grenzen für verschachtelte Baumansichten zu aktualisieren, wenn die Bildlaufleisten aktualisiert werden müssen
  • current OnExpanded implementation löst das Ereignis aus, bevor die Bereichs- und Bildlaufpositionen fixiert sind. Das macht den Code komplizierter und mit einer großen Schwäche - die Grenzen einer Detailstrukturansicht werden aktualisiert, nachdem der Baum angezeigt wird, was sein kann manchmal sichtbar

2.3. Projektcode

Es wurde in Delphi 2009 in Bezug auf die Verwendung in Delphi 7 geschrieben und getestet. Für die kommentierte Version eines nächsten Codes follow this link :

Unit1.pas

%Vor%

Unit1.dfm

%Vor%

2.4. Screenshot

    
TLama 30.08.2012, 01:52
quelle