如何為form自定義屬性并使其在屬性窗口中是可見并可修改的?
解决方案 »
- DELPHI中的DLL动态调用参数那里不对呀???
- delphi并口输出串口读数据的问题--紧急求救
- 关于SQL语句的写法,仍存在疑问!在此请教
- 有关组件RzButton的问题
- 第一次用三层结构,超简单问题,希望大家帮助
- 关于Socket的收发,我用Indy控件,有个处理方式要探讨!
- 在Edit的OnExit事件里如何判断下一个焦点是否为RadioGroup
- 关于变量命名?
- fastreport的问题,在线等
- 一个button,在单击后便启动IE。好象“添加/删除网络实名”一样,点击后到指定的网页,如何实现!
- 最小化窗体时我要执行一段操作,不知道怎么实现?
- 推荐一个超好的bt下载计算机讲座,认证培训资料,学习软件,和英语讲座考研讲座等等好东西大家快来下啊
就是form自定義的屬性在派生後的FORM中的PROPERTY INSPECTOR中看不到,但在代碼中可以訪問.
如下为form1添加一个新属性str,并初始化为'hello,world!',然后form1的caption等于属性str
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
Tform2 = class(tform)//从tform继承,并添加属性str
private
fstr:string;
constructor Create(AOwner: TComponent); override;//重载Create,为新属性赋初值。
public
property str:string read fstr ;
end;
TForm1 = class(TForm2)//注意这里从TForm2继承;
procedure FormCreate(Sender: TObject);//重载
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}{ Tform2 }constructor Tform2.Create(AOwner: TComponent);
begin
inherited;
fstr:='hello,world!';
end;procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Caption:=form1.str;
end;end.
不行我試過在form 中加屬性到Published中,發現派生類和本身都看不到,好像FORM是沒有published域的,是不是可以考慮從TCUSTOMFORM重新繼承并寫過呢?