在程序里使用treeview的时候,属性里有个item可以很方便的增减树的节点,现在想在程序运行以后实现那个item的功能,该怎么做呢?
   也就是说,我的程序页面上上有个treeview组件,我想在旁边放几个按钮,实现treeview里item属性的功能。

解决方案 »

  1.   

    with TreeView1 do
      begin
        Items.AddChild(nil,'我是第一个节点');
        Items.AddChild(Items[0],'我是第一个节点的节点 1');
        Items.AddChild(Items[0],'我是第一个节点的节点 2');
        Items.AddChild(nil,'我是第二个节点');
      end;  删除节点用 TreeView1.Items.Delete() 或 TreeView1.Items[i].Delete
      

  2.   

    增加
    procedure TForm1.Button1Click(Sender: TObject);
    var
      tnode:TTreeNode;
    begin  Tnode:=Treeview1.Items.AddChildObject(TreeView1.Selected,'标题'+inttostr(Random(1000)) ,nil);
      //设置显示选择图标什么的
      tnode.ImageIndex :=0;
      tnode.SelectedIndex := 1;
    end;
    //删除
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    if (TreeView1.Selected=nil) then exit;
    TreeView1.Selected.Free;
    end;
      

  3.   

    楼上说得办法中,节点的删除中TreeView1.Items.Delete() 或 TreeView1.Items[i].Delete?
    应该是用来删除不同层次的节点的吧,可是我怎么获取现在选定要删除的节点是哪一层哪一个捏?
      

  4.   

    得到选择节点层数 注意,是从0开始的
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    if (TreeView1.Selected=nil) then exit;
    ShowMessage(IntToStr(TreeView1.Selected.Level));
    end;
      

  5.   

    谢了,原来treeview里有save和load函数
    白写了一堆递归。