扩展TreeView控件功能的问题,编写控件高手请进 做一个带数据感知功能的TreeView控件,我是从TTreeView继承的,但是想在TTreeNode类中加一个属性可以储存字符串,应该怎样让我自编的TTreeView包含的我想扩展功能的TTreeNode, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 type Tmytreeview=class(Ttreeview) public property mystr(index:integer,const newelement:string); end; 我是想在TTreeNode中加入一个属性,不是在TTreeView中加入一个字符串属性 这个不难吧?你type TTreeNodeEx = class(TTreeNode);增加一个属性你的TreeView控件不要从TTreeView继承继承TCustomTreeView,TTreeNode替换为TTreeNodeEx 事实上也不一定要必要这么做,做数据感知的TreeView控件,你可以考虑使用Node.Data属性,由此和数据源关联,把字符串保存在其中即可(定义一个record)或者定义两个类,父节点一个类,子节点一个类,从父节点继承 另外我觉得你可以考虑定义一个DataLink注册一个属性编辑器也是必要的,用来提供一个字段编辑,指定载入哪几个字段到树结构,字段在节点中位置我对控件方面懂得甚少,只是有考虑过也写一个这样的控件这方面我也想了解 还请多指教 如果只是想在TTreeNode属性里存放东东的话,你可以利用Node的Date属性;Type PNOdeInfo= ^TNodeInfo; TNodeInfo= Record S: String; I: Integer; .....var PCurNodeInfo: PNodeInfo New(PCurNodeInfo); PCurNodeInfo^.s:= ...; PCurNodeInfo^.I:= ...; CurNode.Data:= PCurNodeInfo;这样就把你想存的S,I放入Data属性里了。 调用的时候用:PCurNodeInfo(CurNode.Data)^.S 就可以了 请问如果我从TCustomTreeView,TTreeNode替换为TTreeNodeEx,应该怎样替换,我没有找到替换的地方 ocx中使用gdi导致IE无法关闭,求指导 请各位高手帮忙一下:如何把内存中的数据流保存成文件! delphi7里有类似delphi6的nmftp控件吗? 关于安装包的问题 整数类型转换…… quickreport报表的问题! 如何用DELPHI调用VBA语句,VBA语句有那些? 请教 StringReplace('ABCDE','AB','12',RfReplaceAll) 哪里不正确 怎样使 treeview 和 listview 的每一个项目都有不同的popupmenu? 我的这句SaveToStream有什么问题? 数据库书签问题 谁知道那里有英文win98啊,我急用
Tmytreeview=class(Ttreeview)
public
property mystr(index:integer,const newelement:string);
end;
type
TTreeNodeEx = class(TTreeNode);
增加一个属性
你的TreeView控件不要从TTreeView继承
继承TCustomTreeView,TTreeNode替换为TTreeNodeEx
事实上也不一定要必要这么做,
做数据感知的TreeView控件,你可以考虑使用Node.Data属性,由此和数据源关联,把字符串保存在其中即可(定义一个record)
或者定义两个类,父节点一个类,子节点一个类,从父节点继承
注册一个属性编辑器也是必要的,用来提供一个字段编辑,
指定载入哪几个字段到树结构,字段在节点中位置我对控件方面懂得甚少,只是有考虑过也写一个这样的控件
这方面我也想了解 还请多指教
Type
PNOdeInfo= ^TNodeInfo;
TNodeInfo= Record
S: String;
I: Integer;
.....
var PCurNodeInfo: PNodeInfo
New(PCurNodeInfo);
PCurNodeInfo^.s:= ...;
PCurNodeInfo^.I:= ...;
CurNode.Data:= PCurNodeInfo;
这样就把你想存的S,I放入Data属性里了。
调用的时候用:PCurNodeInfo(CurNode.Data)^.S 就可以了