Danke. Die Idee war richtig aber musste ich noch ergänzen um natürlich die Beschriftung 'node' für die Subitems zu unterdrücken:
Delphi-Quellcode:
procedure TForm1.vstGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
var
daten: TOAutos;
begin
daten := TOAutos(vst.GetNodeData(node)^);
case Column of
{ 0: celltext:=daten.MarkenName; }
0: if vst.GetNodeLevel(node) = 0 then celltext:=daten.MarkenName else celltext:='';
1: celltext:=daten.Modell;
2: celltext:=daten.Farbe;
end;
end;