C++ 将节点添加到C++;建设者

C++ 将节点添加到C++;建设者,c++,treeview,c++builder,C++,Treeview,C++builder,这是一个非常简单的问题,我必须问,但我在任何地方都找不到答案 我使用C++ Builder XE6,我想使用TTreVIEW。我找到了一些关于它的教程,其中提到添加节点的方法是: TreeView->Items->Add(NULL, "name"); 但是它不起作用,我得到一个错误,Add()不是Items的成员。在快速研究之后,我发现Add()是一个用于TTreeNodes的方法,而TreeView->Items是一个TTreeViewItem。也许我读过的所有教程都过时了。不管

这是一个非常简单的问题,我必须问,但我在任何地方都找不到答案

我使用C++ Builder XE6,我想使用TTreVIEW。我找到了一些关于它的教程,其中提到添加节点的方法是:

TreeView->Items->Add(NULL, "name");
但是它不起作用,我得到一个错误,Add()不是Items的成员。在快速研究之后,我发现Add()是一个用于TTreeNodes的方法,而TreeView->Items是一个TTreeViewItem。也许我读过的所有教程都过时了。不管怎么说,我找不到任何办法


谢谢您的帮助。

您需要调用
TreeView->Items->AddChild(NULL,“name”)-这将添加根的子节点(NULL)。如果需要添加特定节点的子节点,则需要将该节点作为参数传递


根据,以及hpp文件中的快速检查,
Items
是一个
t绿色节点
,因此
Add
AddChild
应该可以工作。例如,您确定没有访问项目[0]

TTreeViewItem
是FireMonkey类,而不是VCL类。您阅读的所有教程都可能基于VCL

在VCL中,
TTreeView::Items
作为一个
TTreeNodes
对象:

__property TTreeNodes* Items = {read=FTreeNodes, write=SetTreeNodes};
t绿色节点
有一个
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
对象并设置其
父属性,例如:

TTreeViewItem *node = new TTreeViewItem(TreeView);
node->Text = "name";
node->Parent = TreeView;

你说的对VCL是正确的,但对FireMonkey不是。编译器说
Items
是一个
TTreeViewItem
对象,它只在FireMonkey中有效。@RemyLebeau好的,我不使用FireMonkey,所以我不知道。OP没有具体说明使用了哪种技术。我的缺点是,我有点混淆了VCL和FireMonkey,我实际上还以为是FireMonkey中的VCL组件。谢谢你的帮助,谢谢你的帮助!我还以为是FireMonkey中的VCL组件。我现在更清楚了。