type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; tv1: TTreeView; procedure Button1Click(Sender: TObject); procedure tv1Change(Sender: TObject; Node: TTreeNode); private { Private declarations } public { Public declarations } end; pTNode=^TNode; Tnode=record a:String; b:LOngint; end; var Form1: TForm1; pt:pTNode ; implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var i:Longint; cnode:ttreenode; begin for i:=0 to 10 do begin new(pt); pt^.a :=inttostr(i); pt^.b :=i; cnode:=tv1.Items.AddObject(nil,pt^.a ,pt); end; end;
procedure TForm1.tv1Change(Sender: TObject; Node: TTreeNode); begin if node<>nil then begin with ptnode(node.Data )^ do begin memo1.Text :='; memo1.Lines.Add('第'+Inttostr(node.AbsoluteIndex )+ '个节点 '+'记录是a:'+a+' b是'+Inttostr(b)); end; end; end;