如何自己修改控件(类) ( 积分: 100 )

  • 主题发起人 主题发起人 cyp207
  • 开始时间 开始时间
C

cyp207

Unregistered / Unconfirmed
GUEST, unregistred user!
我想修改一下TTREENODE的属性,让他能有两个TEXT属性,能存储两个ANSISTRING字段。可是本身只有一个TEXT。我也不需要另外编写控件,因为我主要是想使用TREEVIEW,另外编写控减可能太麻烦了。如果能直接修改TTREENODE类,让他多一个ANSISTRING属性就好了,不知道要怎么样才能实现。
 
我想修改一下TTREENODE的属性,让他能有两个TEXT属性,能存储两个ANSISTRING字段。可是本身只有一个TEXT。我也不需要另外编写控件,因为我主要是想使用TREEVIEW,另外编写控减可能太麻烦了。如果能直接修改TTREENODE类,让他多一个ANSISTRING属性就好了,不知道要怎么样才能实现。
 
自己继承TREEVIEW,加个属性就是勒阿
 
只是在TREEVIEW里加一个属性的话,那一个TREEVIEW只能多记录一个啊,我想让TREEVIEW里的任意一个NODE节点都多一个属性。这样必须修改TREENODE吧
 
你要不要同时把两个TEXT都显示出来呢,如果不需要的话,你就可以把它存储在节点的Data里
 
原来还有这个属性,谢谢了。不过这个属性有没有什么特别的用途?帮助文件没怎么看懂,现在的理解感觉好象是使一个结点和任意一个结点关联起来,可以快速访问。不知道是不是。另外,我还是希望知道如果修改控件,以适合以后自己编程的需要
 
另外,这个属性能把数据存进去,可我取不出来。。。。
用AnsiString强制类型转换也不行
 
Data属性是指针类型的。
你可以定义一个结构,然后把结构的指针存储在那里,读写都很方便的。你可以查查相关的帖子
修改TREENODE是可以的,但很麻烦,这样的话TTreeView也得修改
 
存:
TreeNode.Data := Pointer(S);
取:
S := String(TreeNode.Data);
不光是 string 类型,如楼上所说的,存储 record 等也是可以的。
 
一定要用结构体存么?
能不能说说怎么样修改控件,我很想知道,谢谢。
另外, plzw我问的是C++ BUILDER,不知道有没有简单的语句可以实现你说的功能?
谢谢
 
http://www.delphibbs.com/keylife/iblog_show.asp?xid=5535
作者?: lovefox
标题?: 如何给treeview的节点data赋值
 
TREEVIEW类其实是windows的基本类,只是在delphi中进行了封装。
若想修改TTREENODE结构那么对TREEVIEW类也进行相应类。
具体他们之间的关系你可以看delphi下内带的上述控件代码。
 
多人接受答案了。
 
后退
顶部