Ich iteriere durch den Tree mit der Funktion IterateSubtree.
Dort lasse ich mir einfach den Nodetext ausgeben und schreibe diesen pro Spalte in eine
CSV.
bzw. stringliste
Delphi-Quellcode:
class procedure TVST_Exporttool.ExportCallback
begin
s:='';
for i:=0 to TVirtualStringTree(Sender).Header.Columns.count-1 do
begin
if s<>'' then s:=s+';';
s:=s+AnsiQuotedStr(TVirtualStringTree(Sender).Text[node, i], '"');
end;
if s<>'' then
tstringlist(data).add(s);
end;
Delphi-Quellcode:
sl:=TStringList.Create;
try
s:='';
for i:=0 to Tree.Header.Columns.count-1 do
begin
if s<>'' then s:=s+';';
s:=s+AnsiQuotedStr(Tree.Header.Columns[i].Text,'"');
end;
sl.add(s);
Tree.IterateSubtree(nil, ExportCallback, sl);
except
sl.free;
sl:=nil;
end;
result:=sl;
btw. deine Fragezeichentaste klemmt.
[edit]code reduziert auf das nötigste