怎么样得到 treeview中父节点下的子节点的所有内容?请给个例子!!

解决方案 »

  1.   

    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;
      

  2.   

    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;
      

  3.   

    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;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  4.   

    最前面加一句:
    if not TreeView1.Selected.HasChildren then Exit;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  5.   

    用递归,如下,把选定节点下所有子节点(包括子节点的子节点)的标题读取到一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;