/以下全部调试通过,你在窗体扔一个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;
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编程语言实现对TreeView控件的基本操作,包括获取所有根节点、获取指定节点的所有子节点及递归访问所有节点的方法。通过几个简单的函数实现这些功能,并提供完整的示例代码。
1779

被折叠的 条评论
为什么被折叠?



