在 C++ Builder 中向 TTreeView 添加节点
Add a node to TTreeView in C++ Builder
这是一个非常简单的问题,我不得不问,但我在任何地方都找不到答案。
我正在使用 C++ Builder XE6,我想使用 TTreeView。找了好几个教程,说添加节点的方法是这样的:
TreeView->Items->Add(NULL, "name");
但是它不起作用,我收到错误消息,Add() 不是 Items 的成员。经过快速研究,我发现 Add() 是 TTreeNodes 的一种方法,但 TreeView->Items 是 TTreeViewItem。也许我读过的所有教程都已过时。无论如何,我找不到任何方法。
感谢您的帮助。
您需要调用 TreeView->Items->AddChild(NULL, "name");
- 这将添加一个根节点 (NULL)。如果您需要添加特定节点的子节点,则需要将该节点作为参数传递。
根据 docs,并快速检查 hpp 文件,Items
是一个 TTreeNodes
,因此 Add
和 AddChild
应该可以工作。例如,您确定没有访问 Items[0]
?
TTreeViewItem
是 FireMonkey class,不是 VCL class。您阅读的所有教程都可能基于 VCL。
在 VCL 中,TTreeView::Items
作为 TTreeNodes
对象:
__property TTreeNodes* Items = {read=FTreeNodes, write=SetTreeNodes};
TTreeNodes
确实有一个 Add()
方法:
TTreeNode* __fastcall Add(TTreeNode* Sibling, const System::String S);
您展示的代码在 VCL 中运行良好。
在 FireMonkey 中,TTreeView::Items
是 TTreeViewItem
个对象的索引数组:
__property TTreeViewItem* Items[int Index] = {read=GetTreeItem};
TTreeViewItem
没有 Add()
方法。将新节点添加到 FireMonkey TTreeView
的正确方法是创建一个 TTreeViewItem
对象并设置其 Parent
属性,例如:
TTreeViewItem *node = new TTreeViewItem(TreeView);
node->Text = "name";
node->Parent = TreeView;
这是一个非常简单的问题,我不得不问,但我在任何地方都找不到答案。
我正在使用 C++ Builder XE6,我想使用 TTreeView。找了好几个教程,说添加节点的方法是这样的:
TreeView->Items->Add(NULL, "name");
但是它不起作用,我收到错误消息,Add() 不是 Items 的成员。经过快速研究,我发现 Add() 是 TTreeNodes 的一种方法,但 TreeView->Items 是 TTreeViewItem。也许我读过的所有教程都已过时。无论如何,我找不到任何方法。
感谢您的帮助。
您需要调用 TreeView->Items->AddChild(NULL, "name");
- 这将添加一个根节点 (NULL)。如果您需要添加特定节点的子节点,则需要将该节点作为参数传递。
根据 docs,并快速检查 hpp 文件,Items
是一个 TTreeNodes
,因此 Add
和 AddChild
应该可以工作。例如,您确定没有访问 Items[0]
?
TTreeViewItem
是 FireMonkey class,不是 VCL class。您阅读的所有教程都可能基于 VCL。
在 VCL 中,TTreeView::Items
作为 TTreeNodes
对象:
__property TTreeNodes* Items = {read=FTreeNodes, write=SetTreeNodes};
TTreeNodes
确实有一个 Add()
方法:
TTreeNode* __fastcall Add(TTreeNode* Sibling, const System::String S);
您展示的代码在 VCL 中运行良好。
在 FireMonkey 中,TTreeView::Items
是 TTreeViewItem
个对象的索引数组:
__property TTreeViewItem* Items[int Index] = {read=GetTreeItem};
TTreeViewItem
没有 Add()
方法。将新节点添加到 FireMonkey TTreeView
的正确方法是创建一个 TTreeViewItem
对象并设置其 Parent
属性,例如:
TTreeViewItem *node = new TTreeViewItem(TreeView);
node->Text = "name";
node->Parent = TreeView;