代碼如下:
void __fastcall TForm1::GetRootNodes(TTreeView *DestTreeView)//得到所有根節點
{
TTreeNode *vNode = NULL;
vNode = DestTreeView->Items->GetFirstNode();
while(vNode)
{
ShowMessage(vNode->Text);//處理查找到的根節點
vNode = vNode->getNextSibling();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::GetChildNodes(TTreeNode *ANode) //根據某個節點得到所有的子節點
{
TTreeNode *vNode;
vNode=ANode->getFirstChild();
while(vNode)
{
ShowMessage(vNode->Text);//處理查找到的子節點
vNode=ANode->GetNextChild(vNode);
}
}
void __fastcall TForm1::GetAllChildNodes(TTreeNode *ANode)//根據某個節點得到所有的子節點的遞歸處理過程
{
TTreeNode *vNode;
vNode=ANode->getFirstChild();
while(vNode)
{
ShowMessage(vNode->Text);//處理查找到的子節點//先序訪問
GetAllChildNodes(vNode);//遞歸調用
vNode=ANode->GetNextChild(vNode);
}
}
void __fastcall TForm1::VisitAllNodes(TTreeView *ATreeView)//遞歸訪問所有節點
{
TTreeNode *vNode = NULL;
vNode=ATreeView->Items->GetFirstNode();
while(vNode)
{
ShowMessage(vNode->Text);//處理查找到的根節點
GetAllChildNodes(vNode);
vNode=vNode->getNextSibling();
}
}