AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

VirtualStringTree Einsteigerhilfe

Ein Thema von Paul Schmidt · begonnen am 7. Feb 2006 · letzter Beitrag vom 7. Feb 2006
Antwort Antwort
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: VirtualStringTree Einsteigerhilfe

  Alt 7. Feb 2006, 20:10
Hallo Paule

Zitat von Paul Schmidt:
Könnt ihr mir vllt. mal ein einfaches Beispiel geben, wie ich z.B. 2 nodes in solch einen VirtualStringTree einfüge.
also: der root-node soll "Root" heißen und sein child "child".
Klar kann ich das, aber "einfach" ist das nicht gerade mit diese Komponente, dafür sehr performant.

Delphi-Quellcode:
var
  Form2: TForm2;

type
  PTreeData = ^TTreeData;
  TTreeData = record
    Caption: String;
  end;

implementation

{$R *.dfm}

// Funktion zum Hinzufügen eines Eintrags
function AddVSTStructure(AVST: TCustomVirtualStringTree; ANode: PVirtualNode;
  ARecord: TTreeData): PVirtualNode;
var Data: PTreeData;
begin
  Result := AVST.AddChild(ANode);
  Data := AVST.GetNodeData(Result);
  Avst.ValidateNode(Result, False);
  Data^.Caption := ARecord.Caption;
end;

procedure TForm2.Button1Click(Sender: TObject);
var
  TreeData : TTreeData;
begin
  TreeData.Caption := 'Root';

  // Größe festlegen
  VirtualStringTree1.NodeDataSize := SizeOf(TTreeData);
  // Knoten einfügen:
  AddVSTStructure(VirtualStringTree1, nil, TreeData);

  TreeData.Caption := 'child';

  // Größe festlegen
  VirtualStringTree1.NodeDataSize := SizeOf(TTreeData);
  // Eintrag einfügen
  AddVSTStructure(VirtualStringTree1, VirtualStringTree1.GetFirst, TreeData);
end;

// Erst hier wird der Text zugewiesen!
procedure TForm2.VirtualStringTree1GetText(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
  var CellText: WideString);
var
  Data: PTreeData;
begin
  // Zugewiesened Node ermitteln ...
  Data := VirtualStringTree1.GetNodeData(Node);
  // ... und dessen Caption zuweisen
  CellText := Data^.Caption;
end;

Zitat von Paul Schmidt:
PS: und bitte nicht hauen, wenn ich dumme Fragen stelle. Muss ja erstmal klein anfangen.
Keine Sorge, das macht keiner. Nur über die Suche wärst du sicher auch fündig geworden, daher das nächste Mal davor suchen, dann nimmt dir's garantiert keiner übel.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz