Ich habe es vorerst mal so gelöst (in diesem Fall zur Anzeige des Child-Elements von Parent3):
Delphi-Quellcode:
procedure TForm1.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
var Data : PTData;
fChild: PVirtualNode;
a, i : Integer;
begin
a := Node.Index;
CellText := '';
// hier meine gewünschte Position
if Node.Parent.Index <> 3 then exit;
if Sender.GetNodeLevel(Node) = 1 then begin
i := 0;
// Child-Elemente durchgehen
fChild := vst.GetFirstChild(Node.Parent);
repeat
// Daten anzeigen
Data := VST.GetNodeData(fChild);
case Column of
0: CellText := Data^.Text;
...
end;
if i = a then break;
fchild:= vst.GetNextSibling(fchild);
inc(i);
until not assigned(fChild);
end;
end;
Funktioniert allerdings nicht richtig, da die leeren Spalten trotzdem angezeigt werden.
Ist die GetText-Prozedur überhaupt die richtige Stelle dafür, oder muss ich die Daten vorher schon irgendwie zurechtbasteln?