var node:TTreeNode; begin node := TreeView1.Selected; if node.HasChildren then begin ListBox1.AddItem(node.getFirstChild.Text); while node<> nil do begin node.GetNext.Text ListBox1.AddItem(node.GetNext.Text); end; end;
procedure TForm1.Button1Click(Sender: TObject); var node:TTreeNode; begin node := TreeView1.Selected; if node.HasChildren then begin ListBox1.AddItem(node.getFirstChild.Text); while node<> nil do begin ListBox1.AddItem(node.GetNext.Text); end; end; end;
procedure TForm1.Button1Click(Sender: TObject); var CurrentNode: TTreeNode; L: Integer; begin CurrentNode := TreeView1.Selected.GetNext; if CurrentNode = nil then Exit; L := CurrentNode.Level; while (CurrentNode <> nil) and (CurrentNode.Level >= L) do begin if CurrentNode <> nil then begin ListBox1.Items.Add(CurrentNode.Text); L := CurrentNode.Level; end; CurrentNode := CurrentNode.GetNext; end; end;———————————————————————————————————— 宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。 ————————————————————————————————————
最前面加一句: if not TreeView1.Selected.HasChildren then Exit;———————————————————————————————————— 宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。 ————————————————————————————————————
用递归,如下,把选定节点下所有子节点(包括子节点的子节点)的标题读取到一listbox中: procedure TForm1.ReadChilTree(tmp: ttreenode); var i:integer; begin if tmp.count>0 then begin for i:=0 to tmp.count-1 do begin ListBox1.items.add(tmp.Item[i].Text); ReadChilTree(tmp.item[i]); end; end; end;然后在按钮事件里调用上面过程 procedure TForm1.Button3Click(Sender: TObject); begin listbox1.Clear; ReadChilTree(treeview1.Selected); end;
node:TTreeNode;
begin
node := TreeView1.Selected;
if node.HasChildren then
begin
ListBox1.AddItem(node.getFirstChild.Text);
while node<> nil do
begin
node.GetNext.Text
ListBox1.AddItem(node.GetNext.Text);
end;
end;
var
node:TTreeNode;
begin
node := TreeView1.Selected;
if node.HasChildren then
begin
ListBox1.AddItem(node.getFirstChild.Text);
while node<> nil do
begin
ListBox1.AddItem(node.GetNext.Text);
end;
end;
end;
var
CurrentNode: TTreeNode;
L: Integer;
begin
CurrentNode := TreeView1.Selected.GetNext;
if CurrentNode = nil then Exit;
L := CurrentNode.Level;
while (CurrentNode <> nil) and (CurrentNode.Level >= L) do
begin
if CurrentNode <> nil then
begin
ListBox1.Items.Add(CurrentNode.Text);
L := CurrentNode.Level;
end;
CurrentNode := CurrentNode.GetNext;
end;
end;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
if not TreeView1.Selected.HasChildren then Exit;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
procedure TForm1.ReadChilTree(tmp: ttreenode);
var
i:integer;
begin
if tmp.count>0 then
begin
for i:=0 to tmp.count-1 do
begin
ListBox1.items.add(tmp.Item[i].Text);
ReadChilTree(tmp.item[i]);
end;
end;
end;然后在按钮事件里调用上面过程
procedure TForm1.Button3Click(Sender: TObject);
begin
listbox1.Clear;
ReadChilTree(treeview1.Selected);
end;