用TTreeView的Items对象的Add或AddChildFirst等方法。具体使用看帮助。

解决方案 »

  1.   

    procedure TForm1.BuildTree;
    var
      tNode: TTreeNode
    begin
      with TreeView1 do
      begin
        Items.Clear;
        tNode := Items.Add(Nil,'AAAAAA');
        Items.AddChild(tNode,'A1');
        Items.AddChild(tNode,'A2');
        Items.AddChild(tNode,'A3');
        Items.AddChild(tNode,'A4');
        ...
        tNode := Items.Add(Nil,'BBBBBB');
        Items.AddChild(tNode,'B1');
        Items.AddChild(tNode,'B2');
        Items.AddChild(tNode,'B3');
        Items.AddChild(tNode,'B4');
        ...
      end;
    end;    
      

  2.   

    以上方法没问题。
    但我是说
    procedure TForm1.BuildTree;
    var
      tNode1,tNode2: TTreeNode
    begin
      with TreeView1 do
      begin
        Items.Clear;
        tNode1 := Items.Add(Nil,'AAAAAA');
        Items.AddChild(tNode1,'A1');
        Items.AddChild(tNode1,'A2');
        tNode2 := Items.Add(Nil,'BBBBBB');
        Items.AddChild(tNode2,'B1');
        Items.AddChild(tNode2,'B2');
      end;
    end;
    procedure TForm1.TreeView1Click(Sender: TObject);    //问题所在
    begin 
        Items.AddChild(tNode1,'A3');
        Items.AddChild(tNode1,'A4');
        Items.AddChild(tNode2,'B4');
        Items.AddChild(tNode2,'B5');
      TreeView1.Refresh;                 //运行完成后TreeView没有
                                    变化还是原样
    end;
      

  3.   

    tNode1和tNode2是局部变量,在另一个过程中是没有值得,你要把他们定义成全局的才行
      

  4.   

    crs77,没解决吗?
    我的icq:5443434.
      

  5.   

    to tNode1和tNode2 在实际应用中我就是用了全局变量,要不编译不过的。
      

  6.   

    TO saoren
      我没有ICQ!你有OICQ吗? 我的号码是:3035403,
      

  7.   

    你一定是弄错了,我运行了这个程序,没有问题。不过Treeviewclick事件我是这样写的:procedure TForm1.TreeView1Click(Sender: TObject);
    begin
    with treeview1 do
    begin
        Items.AddChild(tNode1,'A3');
        Items.AddChild(tNode1,'A4');
        Items.AddChild(tNode2,'B4');
        Items.AddChild(tNode2,'B5');
    end;
    end;
    结果每次单击TREEVIEW1都有新项增加到AAAA和BBBB项目下。