刚学DELPHI   我在加载 TreeView 时 不只是要保留TEXT  我还要保留 被的数据 如 编号 可以不显示
我看到可以用  ADDOBJECT 但不知道怎么用 请指教 愿吗

解决方案 »

  1.   

    如果你的编号是整形的,那么可以不用什么AddObject,直接把这个编号赋值给TreeView的Node的StateIndex,就可以使用了!
      

  2.   

    ttreenode有个属性为data,可以保存节点相关数据。此外,节点的编号可以用它的index获取
      

  3.   

    你要保存到哪?文件?用结构体来做很简单的!
    PttreeNode=^TTreeNode;
    MyNode = record
         Caption       : String[80];      //标题显示
         Num          : Integer;        //端口
    end;
    PMyNode = ^ MyNode;
    然后声明两个变量 使用
    pn: PMyNode;AddObject最后一个参数是指针,往里加时这样用
    new(pn);
    pn.caption:='hi';
    pn.num:=1;
    TreeView1.Items.AddChildObject(treeview1.Selected,pn.Caption,pn);
    剩下的你会了吧
      

  4.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls;type
      PRec = ^TRec;
      TRec = record
        ID: String;
      end;  TForm1 = class(TForm)
        TreeView1: TTreeView;
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure TreeView1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      i: Byte;
      P: PRec;
      Node: TTreeNode;
    begin
      for i:= 1 to 9 do
      begin
        New(P);
        P^.ID := 'INDEX:' + IntToStr(i*100+i*i);
        Node := TreeView1.Items.AddChild(nil, 'NAME->00000'+IntToStr(i));
        Node.Data := P;
      end;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      i: Byte;
      p: PRec;
    begin
      for i:=8 downto 0 do
      begin
        P := TreeView1.Items[i].Data;
        Dispose(P);
        TreeView1.Items[i].Delete;
      end;
    end;procedure TForm1.TreeView1Click(Sender: TObject);
    begin
      if TreeView1.Selected<>nil then
        ShowMessage(PRec(TreeView1.Selected.Data)^.ID);
    end;end.