尝试的方式与旧的VCL TTreeNode.
一样好,没有TTreeNode
并且没有方法可以将树木码添加到树中,而是我必须手动创建{{1实例并将其父属性设置为TTreeViewItem
实例。现在,TTreeView
有一个数据属性,但其类型为TTreeViewItem
。
如何处理这种类型?
我尝试了以下内容:
TValue
答案 0 :(得分:3)
TFmxObject.SetData
方法是空的虚拟存根,必须在后代类中重写。您无法以TreeViewItem.Data
的方式使用它,因为Data
实际上包含TTreeViewItem.Name
属性。
您必须创建自己的后代TTreeViewItem
类并使用它而不是默认的
TMyTreeViewItem = class(TTreeViewItem)
protected
fData: TValue;
function GetData: TValue; override;
procedure SetData(const Value: TValue); override;
end;
function TMyTreeViewItem.GetData: TValue;
begin
Result := fData;
end;
procedure TMyTreeViewItem.SetData(const Value: TValue);
begin
fData := Value;
end;