本文整理自网络,侵删。
以下全部调试通过,你在窗体扔一个Treeview就行了
procedure GetRootNodes(ATreeView:TTreeView);//得到所有根节点var vNode:TTreeNode;begin vNode:=nil; vNode:=ATreeView.Items.GetFirstNode; While vNode<>nil do begin ShowMessage(vNode.Text);//处理查找到的根节点 vNode:=vNode.getNextSibling; end;end;
procedure GetChildNodes(ANode:TTreeNode);//根据某个节点得到所有的子节点var vNode:TTreeNode;begin vNode:=ANode.getFirstChild; While vNode<>nil do begin ShowMessage(vNode.Text);//处理查找到的子节点 vNode:=ANode.GetNextChild(vNode); end;end;
procedure GetAllChildNodes(ANode:TTreeNode);//根据某个节点得到所有的子节点的递归处理过程var vNode:TTreeNode;begin vNode:=ANode.getFirstChild; While vNode<>nil do begin ShowMessage(vNode.Text);//处理查找到的子节点//先序访问 GetAllChildNodes(vNode);//递归调用 vNode:=ANode.GetNextChild(vNode); end;end;
Procedure VisitAllNodes(ATreeView:TTreeView);//递归访问所有节点var vNode:TTreeNode;begin vNode:=nil; vNode:=ATreeView.Items.GetFirstNode; While vNode<>nil do begin ShowMessage(vNode.Text);//处理查找到的根节点 GetAllChildNodes(vNode); vNode:=vNode.getNextSibling; end;end;
procedure TForm1.Button1Click(Sender: TObject);begin//得到根节点 GetRootNodes(TreeView1);//treeview1是你自己的Treeview控件哦end;
procedure TForm1.Button2Click(Sender: TObject);begin//得到某节点的所有子节点 GetChildNodes(Treeview1.Items.GetFirstNode);//treeview1是你自己的Treeview控件哦end;
procedure TForm1.Button3Click(Sender: TObject);begin//递归访问所有节点 VisitAllNodes(Treeview1);//treeview1是你自己的Treeview控件哦end;
相关阅读 >>
Delphi xe5实现android 安卓 左侧或者右侧菜单功能
Delphi 利用unigui中的tunipagecontrol实现多页面
Delphi使用project manager添加一个java库到你的应用程序
Delphi使用idhttp.get('') 造成假死(堵塞),请问线程idhttp怎么才能做到不出错?
xe7提示找不到sharedactivitycontext函数
更多相关阅读请进入《Delphi》频道 >>