Ich benutze dort gern das Record und nicht nur ein Objekt, dann ist man noch flexibler, wenn es um Erweiterungen geht.
OnChange war nur ein Beispiel. Damit etwas angezeigt wird, ist das OnGetText-Ereignis nötig. Dort kann bzw. muss man selber dafür sorgen, dass etwas angezeigt wird.
Also...
Delphi-Quellcode:
procedure TForm.VSTGetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
var CellText: WideString);
var Data:PNodeData;
begin
Data:=Sender.GetNodeData(Node);
if assigend(Data) then begin
if Data^.Table is TTableA then
CellText:=TTableA(Data^.Table).Caption
else if Data^.Table is TTableB then
CellText:=TTableB(Data^.Table).Caption;
end;
end;
Oder auch...
Delphi-Quellcode:
procedure TForm.VSTGetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
var CellText: WideString);
var Data:PNodeData;
begin
Data:=Sender.GetNodeData(Node);
if assigend(Data) then
CellText:=TNodeObject(Data^.Table).Caption;
end;