Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi VirtualStringTree (https://www.delphipraxis.net/135364-virtualstringtree.html)

youuu 9. Jun 2009 21:20


VirtualStringTree
 
Hi,

ich fange gerade an etwas rum zu experementieren mit der Komponente VirtualStringTree, jedoch finde ich diese Komponente doch sehr schwer zu verstehen ohne hintergrund wissen.

Hat jemand ein gutes Tutorial welches leicht verständlich ist?

z.B krieg ich es einfach nicht hin einen Node um zu bennen.

mirage228 9. Jun 2009 21:27

Re: VirtualStringTree
 
Hey,

Schau mal bei den Kollegen von DSDT.Info:

http://www.delphi-treff.de/tutorials...rtualtreeview/

Viele Grüße

youuu 9. Jun 2009 21:51

Re: VirtualStringTree
 
Zitat:

Zitat von mirage228
Hey,

Schau mal bei den Kollegen von DSDT.Info:

http://www.delphi-treff.de/tutorials...rtualtreeview/

Viele Grüße

In diesen Tutorial kann ich nichts finden wie ich Nodes umbenenne, nur wie ich Ihnen Daten zuweise.
Habe ich alles ausprobiert jedoch bleibt immer Node stehen.

Hat jemand eine Hilfe?

Daniel 9. Jun 2009 22:01

Re: VirtualStringTree
 
Du meinst den Text, der da bei einem Knoten im Treeview steht? Die Komponente selbst weiß gar nicht so recht, was sie da schreiben soll. Der Text "Node" ist da eher eine "Verlegenheitslösung" seitens des Trees. *g*

Wenn der Treeview wissen will, welchen Text er zu einer Node auswerfen soll, dann löst er das Ereignis "OnGetText" aus. Den Handler dazu musst Du selbst schreiben. Anhand der Node, die Du als Parameter bekommst, musst Du deren Daten extrahieren und dann einen geeigneten Text zurückliefern (das ist dann der VAR-Parameter des Handlers, heißt glaube ich "CellText" oder so ähnlich. Ist aber klar erkennbar, was zutun ist).

mirage228 10. Jun 2009 00:10

Re: VirtualStringTree
 
In dem Tutorial kannst Du also "nichts" zu OnGetText bzw. zur Beschriftung finden? Interessant, auf Seite 4 steht es nämlich ...
http://www.delphi-treff.de/tutorials...eeview/page/4/ :wall:

youuu 10. Jun 2009 10:14

Re: VirtualStringTree
 
Zitat:

Zitat von mirage228
In dem Tutorial kannst Du also "nichts" zu OnGetText bzw. zur Beschriftung finden? Interessant, auf Seite 4 steht es nämlich ...
http://www.delphi-treff.de/tutorials...eeview/page/4/ :wall:

Danach habe ich mich gerichtet und zur Probe ausprobiert funktionierte aber nicht.


Delphi-Quellcode:
type
  PTreeData = ^TTreeData;
  TTreeData = record
    FCaption: String;
    FColumn1: String;
  end;
Delphi-Quellcode:
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^.FCaption:=ARecord.FCaption;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
  TreeData: TTreeData;
begin
  VST.NodeDataSize:=SizeOf(TTreeData);
  VST.BeginUpdate;
  for I:=0 to 5 do
  begin
    TreeData.FCaption:='Node-Nummer: '+IntToStr(I);
    AddVSTStructure(VST,nil,TreeData);
  end;
  VST.EndUpdate;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  VST.NodeDataSize:=SizeOf(TTreeData);
end;

procedure TForm1.vstGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
  Column: Integer; TextType: TVSTTextType; var CellText: WideString);
var
  Data: PTreeData;
begin
  Data:=VST.GetNodeData(Node);

  CellText := Data^.FCaption;
end;

Die Nodes hießen immernoch Node

mirage228 10. Jun 2009 10:18

Re: VirtualStringTree
 
Hast Du im Objekt-Inspektor beim VST unter "Ereignisse" dem OnGetText auch deine "vstGetText" Methode zugewiesen? Hast Du mal im Debugger geschaut, ob und wie sie (mit welchem Wert für Data.FCaption) aufgerufen wird?

Ansonsten würde ich Dir noch empfehlen in der "AddVSTStructure" Methode einfach den String für den Text direkt zu übergeben (nochmal "TTreeData" als Parameter scheint mir da etwas redundant)

Viele Grüße

youuu 10. Jun 2009 10:22

Re: VirtualStringTree
 
Zitat:

Zitat von mirage228
Hast Du im Objekt-Inspektor beim VST unter "Ereignisse" dem OnGetText auch deine "vstGetText" Methode zugewiesen? Hast Du mal im Debugger geschaut, ob und wie sie (mit welchem Wert für Data.FCaption) aufgerufen wird?

Viele Grüße

Nein hatte ich nicht, da ich das Tutorial geladen hatte und vermutet habe das dies alles korrekt ist.

Allerdings hattest du recht, es war gar nicht bei Ereignisse eingetragen.

Danke nun versteh ich es endlich auch :cheer:

generic 10. Jun 2009 11:06

Re: VirtualStringTree
 
Es gibt doch noch das DelphiPraxis Stammtischvideo.
Kennst du das?

http://www.delphipraxis.net/videos#Stammtisch_2

Dort wird viel gezeigt und erklärt.

youuu 10. Jun 2009 11:45

Re: VirtualStringTree
 
Danke.
Lade ich mir mal direkt runter.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz