for i:=0 to TreeView1.Items.Count-1 do begin showmessage(treeview1.Items[i].Text); end;
while node<>nil do begin if node.HasChildren then begin node:=node.getFirstChild; allovertreeview(node); node:=node.Parent; end; if node.getNextSibling<>nil then node:=node.getNextSibling else exit; end; //仅供参考
function TForm1.AllOverTreeView(node:TTreenode):TTreenode; begin while node<>nil do begin if node.HasChildren then begin node:=node.getFirstChild; allovertreeview(node); node:=node.Parent; end; if node.getNextSibling<>nil then node:=node.getNextSibling else exit; end; end;procedure TForm1.Button1Click(Sender: TObject); var parentnode:TTreenode; begin parentnode:=Mytreeview.Items.GetFirstNode; AllOverTreeView(parentnode); end; //完整的代码
对于SHELLTREEVIEW就不起作用了,总是报错.
procedure TForm1.Button2Click(Sender: TObject); var i:integer; begin for i:=0 to shellTreeView1.Items.Count-1 do begin showmessage(shelltreeview1.Items[i].Text); end; end;
无用. 只能取得ROOT节点内容.
procedure TForm1.TraverseTree(ANode:TTreeNode); var i,count:Integer; j,k:Integer; Node:TTreeNode; begin count:=ANode.Count; for i:=0 to count-1 do begin Node:=ANode.Item[i]; self.ListBox1.Items.Add(Node.Text); TraverseTree(Node); end; end; procedure TForm1.Button1Click(Sender: TObject); var j:Integer; begin for j:=0 to treeView1.Items.Count-1 do begin if(TreeView1.Items[j].Parent=nil)then TraverseTree(TreeView1.Items[j]); end; end; 上面的代码就可以遍历一个TTreeView里的结点! 我已经调试过了!
begin
showmessage(treeview1.Items[i].Text);
end;
begin
if node.HasChildren then
begin
node:=node.getFirstChild;
allovertreeview(node);
node:=node.Parent;
end;
if node.getNextSibling<>nil then
node:=node.getNextSibling
else
exit;
end;
//仅供参考
begin
while node<>nil do
begin
if node.HasChildren then
begin
node:=node.getFirstChild;
allovertreeview(node);
node:=node.Parent;
end;
if node.getNextSibling<>nil then
node:=node.getNextSibling
else
exit;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
parentnode:TTreenode;
begin
parentnode:=Mytreeview.Items.GetFirstNode;
AllOverTreeView(parentnode);
end;
//完整的代码
var
i:integer;
begin
for i:=0 to shellTreeView1.Items.Count-1 do
begin
showmessage(shelltreeview1.Items[i].Text);
end;
end;
只能取得ROOT节点内容.
var
i,count:Integer;
j,k:Integer;
Node:TTreeNode;
begin
count:=ANode.Count;
for i:=0 to count-1 do
begin
Node:=ANode.Item[i];
self.ListBox1.Items.Add(Node.Text);
TraverseTree(Node);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
j:Integer;
begin
for j:=0 to treeView1.Items.Count-1 do
begin
if(TreeView1.Items[j].Parent=nil)then
TraverseTree(TreeView1.Items[j]);
end;
end;
上面的代码就可以遍历一个TTreeView里的结点!
我已经调试过了!
学习嘛.
你的代码不知自己有没试过?
确实只能列出ROOT节点的内容,子节点列不出来