![]() |
VirtualStringTree (einen Knoten Name vergeben)
Hallo. Ich wollte diesen Beispiel Folgen und Knoten mit Caption anlegen, leider sehe ich nur "NODE" und keine Caption.
Warum? ![]()
Delphi-Quellcode:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, VirtualTrees, StdCtrls, Buttons; type PTreeData = ^TTreeData; TTreeData = record FCaption: String; FColumn1: String; end; type TForm1 = class(TForm) Button1: TButton; Vst: TVirtualStringTree; SpeedButton1: TSpeedButton; procedure Button1Click(Sender: TObject); private function AddVSTStructure(AVST: TCustomVirtualStringTree; ANode: PVirtualNode; ARecord: TTreeData): PVirtualNode; procedure Button3Click(Sender: TObject); { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var I: Integer; TreeData: TTreeData; begin VST.NodeDataSize:=SizeOf(TTreeData); VST.BeginUpdate; for I:=0 to 100 do begin TreeData.FCaption:='Node-Nummer: '+IntToStr(I); AddVSTStructure(VST,nil,TreeData); end; VST.EndUpdate; end; function TForm1.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.Button3Click(Sender: TObject); begin end; end. |
Re: VirtualPreeView (einen Knoten Name vergeben)
In deinem Titel ist ein P zuviel, und ein T zu wenig.
Zum Thema: NODE ist der Standardtext. Du musst das Ereignis OnGetText verwenden und dort je nach Spalte den Text setzen.
Delphi-Quellcode:
Edit: kleines Beispiel angehängt.type PNodeID = ^TNodeID; TNodeID = record fObject: TObject; end; procedure TMainForm.VSTObjectsGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString); var p: PNodeID; begin p := Sender.GetNodeData(Node); if p <> nil then begin case Column of 0: CellText := TScanObjectList(p.fObject).Caption; 1: CellText := TScanObjectList(p.fObject).ItemCountStr; end; end; end; Edit2: end; vergessen. |
Re: VirtualPreeView (einen Knoten Name vergeben)
In deinem Titel ist ein P zuviel, und ein T zu wenig.
Wie meinst du das? :( |
Re: VirtualPreeView (einen Knoten Name vergeben)
Zitat:
:( |
Re: VirtualPreeView (einen Knoten Name vergeben)
Zitat:
hast du dein problem gelöst? |
Re: VirtualPreeView (einen Knoten Name vergeben)
Zitat:
edit: kuck dir doch mal die demos im ordner advanced an, die sind sehr hilfreich für den einstieg, bzw. das ![]() |
Re: VirtualStringTree (einen Knoten Name vergeben)
Das habe ich auch gemacht. Das CODE aus dem ersten Postig wurde da raus kopiert. Funktioniert bei mir nicht. ich weis aber nicht warum
|
Re: VirtualStringTree (einen Knoten Name vergeben)
Alles klar. Nun habe ich das. Ist enwas ungewöhnlich zu bedienen. Sonst gut.
|
Re: VirtualStringTree (einen Knoten Name vergeben)
Delphi-Quellcode:
Hallo. Ich bin nun soweit, das ich ein Hauptknoten anlegen kann. Jetzt will ich einen Unterknoten enlegen. Ich habe mir zwar den Tutorial angeschaut, leider bin ich nicht viel schlauer geworden.procedure TForm1.VstGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString); var Data: PTreeData; begin Data:=VST.GetNodeData(Node); CellText := Data^.FCaption; end; procedure TForm1.VstFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode); var Data: PTreeData; begin Data:=VST.GetNodeData(Node); if Assigned(Data) then Data.FCaption:=''; end; Mein stand: Hardware Software Autos Ziel Hardware->Monitor Software Autos->Porsche Wie kann ich eine unterkategorier ertellen ? |
Re: VirtualStringTree (einen Knoten Name vergeben)
:wall: ich habe es geschaft. :wall:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 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