我想写一个应用,请问怎样动态的往里面添节点。

解决方案 »

  1.   

    给你个例子
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls, Grids, DBGrids;type
      TForm1 = class(TForm)
        TreeView1: TTreeView;
        Button1: TButton;
        CheckBox1: TCheckBox;
        StringGrid1: TStringGrid;
        Button2: TButton;
        procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
      HT : THitTests;
    begin
    if (CheckBox1.Checked) and (Sender is TTreeView) then
      begin
      with Sender as TTreeView do
        begin
        HT := GetHitTestInfoAt(X,Y);
        if (htOnItem in HT) then
          Items.Delete(GetNodeAt(X,Y));
        end;
      end;end;procedure TForm1.Button1Click(Sender: TObject);//动态添加节点
    var
      MyTreeNode1, MyTreeNode2: TTreeNode;
    begin
      with TreeView1.Items do
      begin
        Clear; { remove any existing nodes }
        MyTreeNode1 := Add(nil, 'RootTreeNode1'); { Add a root node }
        { Add a child node to the node just added }
        AddChild(MyTreeNode1,'ChildNode1');
        AddChild(MyTreeNode1,'ChildNode1') ;    {Add another root node}
        MyTreeNode2 := Add(MyTreeNode1, 'RootTreeNode2');
        {Give MyTreeNode2 to a child }
        AddChild(MyTreeNode2,'ChildNode2');    {Change MyTreeNode2 to ChildNode2 }
        { and add a child node to it}
        MyTreeNode2 := TreeView1.Items[3];
        AddChild(MyTreeNode2,'ChildNode2a');    {Add another child to ChildNode2, after ChildNode2a }
        Add(MyTreeNode2,'ChildNode2b');    {add another root node}
        Add(MyTreeNode1, 'RootTreeNode3');
      end;end;procedure TForm1.Button2Click(Sender: TObject);
    begin
       TreeView1.SaveToFile('d:\wudi.txt');  //保存到文件
    end;end.