haitao:
【delphi技术贴】如何为已经存在的Tlistbox/Tcombobox/Tchecklistbox、TTreeView等控件的Items的每一个Item增加一个StringData属性呢?
[阅读: 1053] 2007-02-09 08:50:12
Tlistbox/Tcombobox/Tchecklistbox等含Items的控件,为了使得每一个Item能包含较多的分属性(如名称、大小、建立时间、建立者等),需要建立一个类型,并为每个Item分配一个该类型的结构
然后xxxx.Items.AddObject(名称,Tobject(结构的指针)),
删除一个或所有Items,需要先释放这Item的Object数据(结构的指针),很是麻烦
TTreeView也是类似,只是它的Item是TTreeNode,有一个Data的属性。。。。
如果能让这些Item有一个String类型的StringData属性,就可以把所有分属性编码为一个大字符串,直接保存在StringData里,新增Item还是删除Item时,都无须预先分配和释放了!
但是,如何为已经存在的Tlistbox/Tcombobox/Tchecklistbox、TTreeView等控件的Items的每一个Item增加一个StringData属性呢?
有没有最简单、快捷的办法:不用重新修改所有源代码、也不用建立新的一套控件,直接使得这些控件增加一个StringData属性呢?--“注入”?