使用前需要先判定目标节点是否是源节点的子节点,避免死循环。
void CopyNode(TTreeNode *sNode,TTreeView *tTreeView,TTreeNode *tNode)
{
if( NULL == sNode ) return;
tNode->Text=sNode->Text;
TTreeNode * Node = sNode-> getFirstChild() ;
if( Node == NULL ) return;
TTreeNode * diNode =tTreeView->Items->AddChild(tNode,Node->Text);
CopyNode(Node,tTreeView,diNode);
while( ( Node=Node-> getNextSibling() ) != NULL )
{
diNode =tTreeView->Items->Add(diNode,Node->Text);
CopyNode(Node,tTreeView,diNode);
}
}