Hallo!
Ich hab gerade VirtualTreeView entdeckt und möchte es gerne in meinem aktuellen Projekt verwenden. Zum Einarbeiten hab ich dieses Turorial verwendet:
http://www.dsdt.info/tutorials/virtualtreeview/
Ich möchte jetzt den View in TabellenForm.
Dazu hab ich mal folgenden Typ angelegt:
Delphi-Quellcode:
PTreeData = ^TTreeData;
TTreeData = record
id: integer;
bezeichnung: String;
end;
Den VirtualStringTree füll ich so:
Delphi-Quellcode:
procedure TfUebersicht.Button6Click(Sender: TObject);
var TreeData: TTreeData;
begin
VST.NodeDataSize:=SizeOf(TTreeData);
VST.BeginUpdate;
TreeData.id:=1;
TreeData.bezeichnung:='Erster Knoten';
AddVSTStructure(VST,nil,TreeData);
TreeData.id:=2;
TreeData.bezeichnung:='Zweiter Knoten';
AddVSTStructure(VST,nil,TreeData);
VST.EndUpdate;
end;
und die GetText-Methode schaut so aus:
Delphi-Quellcode:
procedure TfUebersicht.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
var
Data: PTreeData;
begin
Data:=VST.GetNodeData(Node);
case Column of
0: CellText := inttostr(Data.id);
1: CellText := Data.bezeichnung;
end;
end;
Die ID wird korrekt angezeigt. Das Bezichnung-Feld bleibt leer. Wenn ich anstatt dem String-Feld, ein zweiter Integer-Feld verwende, dann steht in jeder Zeile 0.
Kann mir vielleicht irgendwer einen Hinweis geben, wo der Fehler liegen könnte?
Danke, Oghma