本文整理自网络,侵删。
//以下全部调试通过,你在窗体扔一个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 利用createservice写与桌面交互的win32服务
idhttp访问网页出现socket error #10054错误
Delphi getprocesshandleasname 获取进程句柄
更多相关阅读请进入《Delphi》频道 >>