【发布时间】:2021-09-17 16:12:55
【问题描述】:
我遵循了在 TVirtualStringTree 上显示数据的传统做法。但它仅在每个单元格中显示字符串“节点”。有人能告诉我我在这里想念什么吗? 提前致谢。
我的代码:
type
TRecFileDirectory = record
FileDirectory: WideString;
FileDirectoryLock: wordbool;
end;
TPRecFileDirectory = ^TRecFileDirectory;
implementation
procedure TForm2.btn4Click(Sender: TObject);
var
I: Integer;
NewNode: PVirtualNode;
ptrFileDir: TPRecFileDirectory;
begin
vsTree1.BeginUpdate;
for I := 0 to Length(arrFileDirectory)-1 do
begin
NewNode := vsTree1.AddChild(nil);
ptrFileDir := vsTree1.GetNodeData(NewNode);
ptrFileDir^.FileDirectory := arrFileDirectory[I].FileDirectory;
ptrFileDir^.FileDirectoryLock := arrFileDirectory[I].FileDirectoryLock;
end;
vsTree1.EndUpdate;
btn4.caption := btn4.caption+' DONE';
end;
【问题讨论】:
-
告诉树如何渲染每个节点
TRecFileDirectory的内容的代码在哪里?仅将自定义数据存储在每个节点内是不够的,您还必须告诉树如何显示它。这就是“虚拟”UI 控件的全部意义所在。 -
谢谢。我明白了。您能否提供任何代码 sn-p 或链接来演示如何告诉树显示数据?
-
我认为您正在解释 OnGetText 将在其中完成自定义数据到网格的映射。我试过了,它部分工作。扔了一些 AV,但我认为是因为其他原因。无论如何,谢谢。
-
"我想你是在解释 OnGetText"- 是的。我不知道确切的名字,我不是 VST 用户。