ComCtrls.pas
....
TTreeNode = class(TPersistent)
private
//加入以下兩行
FCity:string;
FSchool:string; FOwner: TTreeNodes;
FText: string;
FData: Pointer;
...
public
//增加如下兩屬性,可適當擴充
propery City:string read FCity write Fcity;
propery School:string read FSchool write FSchool; constructor Create(AOwner: TTreeNodes);
...
end;
这种办法可以方便的在treeview增加属性,这样作了,不用管资源释放吗?安全吗?
....
TTreeNode = class(TPersistent)
private
//加入以下兩行
FCity:string;
FSchool:string; FOwner: TTreeNodes;
FText: string;
FData: Pointer;
...
public
//增加如下兩屬性,可適當擴充
propery City:string read FCity write Fcity;
propery School:string read FSchool write FSchool; constructor Create(AOwner: TTreeNodes);
...
end;
这种办法可以方便的在treeview增加属性,这样作了,不用管资源释放吗?安全吗?
解决方案 »
- 用WebBrowser控件打开网页后,怎么样用代码实现自动输内容到框中,自动点击
- 我想做一个利用邮件做为网络硬盘的程序(50分求源码)
- 已知一个文件夹的句柄,文件夹名称,怎样得到文件夹的路径?
- 请教:DirectX中如何实现显示图像与显示器扫描的同步?
- String 类型的字符串就是ASCII串吗?如何除掉STRING末尾的0??
- PUBLIC的过程写在哪?
- 如果在webbrower显示的网页中查找字符串?
- ActiveForm 刷新问题
- 关于”嵌入Exe,Exe程序里的全部模态窗体失效!!!“的问题?
- 谁有Wise Installer 8.12的注册码?谢谢了!
- edit memo控件问题?
- 怎样实现函数重载?子类中怎样调用基类的重载函数?
首先在自己的单元中加入下面的类定义:
TNodeEx = class(TTreeNode)
private
FCity:string;
FSchool:string;
public
constructor Create(AOwner: TTreeNodes);
propery City:string read FCity write Fcity;
propery School:string read FSchool write FSchool;
end;constructor TNodeEx.Create(AOwner: TTreeNodes);
begin
inherited;
FCity:='';
FSchool:='';
end;然后在
procedure TForm1.TreeView1CreateNodeClass(
Sender: TCustomTreeView; var NodeClass: TTreeNodeClass);
begin
NodeClass:=TNodeEx;
end;然后我们就可以这样访问代码了;
(TreeView.Selected AS TNodeEx).School:='asdfasdf';
TMyData = packed record
City:string;
School:string;
end;
PMyData =^TMyData;
...
...
MyData:PMyData;MyData^.School := 'fdasdfas';
TreeView.Selected.Data := MyData;或者用xthmpro_cn(安徽农民*在外打工) 的办法也可以