每个节点需储存两个字符串,比如一个是显示的文件名,另一个是文件路径。
但TTreeNode只有一个Text属性能储存字符串,不知还有没有其它属性可以,或者怎样给这个节点增加个属性如Hint(这个属性只要能储存字符串即可,不需做其它用途)。

解决方案 »

  1.   

    定义Record,用Node.Data存储Record指针
      

  2.   

    data属性,这是一个指针类型,你存什么都可以,最后记得释放
      

  3.   

    声明结构  
    PSickRoom = ^TSickRoom;
      TSickRoom = record
        SickRoomGroupID: string;
        SickRoomGroupName:  string;
        SICKROOMLOGIC: string;
      end;把结构挂在tree的节点上
        if qryTemp.RecordCount > 0 then
        begin
          qryTemp.First;
           while not qryTemp.Eof do
           begin
             new(ASickRoom);
             RecNode := ATreeview.Items.AddChildObject(nil, qryTemp.FieldByName('SICKROOMGROUPNAME').AsString, ASickRoom);
             ASickRoom.SickRoomGroupID := qryTemp.FieldByName('SickRoomGroupID').AsString;
             ASickRoom.SickRoomGroupName := qryTemp.FieldByName('SickRoomGroupName').AsString;
             ASickRoom.SICKROOMLOGIC := qryTemp.FieldByName('SICKROOMLOGIC').AsString;
             qryTemp.Next;
           end;
        end;
    取节点上的数据
      PSickRoom(ATreeview.Items[i].Data).SickRoomGroupID