在form的onshow事件中,其中执行一句:
   TreeView1.Items.AddObject(newnode,'张三',ptr1);
   其中,ptr是本过程中申明的指针类,它是记录MyRec类的指针,为什么定义后,以后在TreeView1中点items,就会自动转到ptr指针所指的地址?(非'张三'的地址)?
   比如:
TYPE
ptr=^MyRec; 
MyRec=record
    a:integer;
    b:integer;
 end;
begin
var 
 ptr1:ptr;
 begin
   new(ptr);  
   TreeView1.Items.AddObject(newnode,'张三',ptr1);
 end;   以后,在TreeView中点击'张三',就会指向ptr,就是这点不理解?

解决方案 »

  1.   

    Delphi syntax:function AddObject(Node: TTreeNode; const S: string; Ptr: Pointer): TTreeNode;
    DescriptionThe node is added as the last sibling of the node specified by the Node parameter. The S parameter specifies the Text property of the new node. The Ptr parameter specifies the Data property value of the new node. AddObject returns the node that has been added. Note: The memory referenced by Ptr is not freed when the tree nodes object is freed.
    ----> 注意: Ptr: Pointer
      

  2.   

    附加一个指针在Node的Data上,通过Ptr(Node.Data)^.a的方式来访问其中数据
      

  3.   

    本来TreeView就是一个指针列表不过现在指向的不是字符串而是一个对象了
      

  4.   

    太方便了!!!
        再问一句,除了TreeView之外,还有什么组件可以这么用?
           回答了马上给分!!
      

  5.   

    N多的
    TList的子类都基本有的
    TListBox,TListView之类的http://lysoft.7u7.net
      

  6.   

    Kevin_Lmx(繁华阅尽)、weizi2000(秋风啊) 不小心的结果……
    gencheng()     只要是指针,就都可以这么用