Zitat von
mirage228:
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