请教:
我的窗体上有一个 treeview1 , button1 , button2 imagelist 控件
我希望单击 button1 ,则在根节点添加一个子节点。
使添加的字节点的 data 为 ‘123’
得到 imagelist 中的图片的 第二个图片单击 button2,则在选中的节点上添加一个子节点
使添加的字节点的 data 为 ‘456’
得到 imagelist 中的图片的 第三个图片
(如果选中的是根节点,则不添加)各位大哥,这样的程序要怎么写啊?
谢谢!

解决方案 »

  1.   

    TTreeview.items.addchild(parent:TTreenode;caption:string);
    第一个参数是指新节点的父节点,当为NIL时,增加一个根节点;当指定了某个已有节点时,新增的节点就是指定节点的子节点。
    第二个参数是新增节点的标签名称
      

  2.   

    把treeview的image属性设置成你的imagelist的名称,然后修改node的imageindex就行
      

  3.   

    谢谢!
    我这个 treeview 是有 跟节点了的!
    TTreeview.items.addchild(parent:TTreenode;caption:string);
    第一个参数是指新节点的父节点,当为NIL时,增加一个根节点;当指定了某个已有节点时,新增的节点就是指定节点的子节点。
    我怎么知道 根节点的 名称 呢?或 已经选中节点的名称 呢?举个例子,好吗?谢谢!
      

  4.   

    var
      CurrenNode:TTreeNode=nil;//全局TTreeView.ONClick()
    begin
      if treeview1.selected<>nil then
        CurrentNode:=treeview1.selected;//--这个就是你当前点选的节点了。
    end;
      

  5.   

    谢谢大哥
    还是有一点问题,
    是这样的:我希望单击 button1 ,则在根节点添加一个子节点。
    而不是再增加一个根节点。
    (不管有没有节点选中)
      

  6.   

    ttreeview.items是个数组类型的属性,你的第一个节点就是根节点
    也就是:
    treeview1.items[0]
      

  7.   

    可是 
    treeview1.items[0] 没有添加子节点的属性啊谢谢!
      

  8.   

    procedure TMainForm.Button1Click(Sender: TObject);
    begin
          CurrenNode:=TreeView1.Items[0];
          TreeView1.Items.AddChild(CurrenNode,'as');
    end;大哥,我需要这样写,是吗?谢谢!