社区
Delphi
帖子详情
如何為form自定義屬性并使其在屬性窗口中是可見并可修改的?
haixj
2003-09-12 02:29:54
如何為form自定義屬性并使其在屬性窗口中是可見并可修改的?
...全文
97
12
打赏
收藏
如何為form自定義屬性并使其在屬性窗口中是可見并可修改的?
如何為form自定義屬性并使其在屬性窗口中是可見并可修改的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
haixj
2003-09-19
打赏
举报
回复
TO: INeedCa(缺钙)
不行我試過在form 中加屬性到Published中,發現派生類和本身都看不到,好像FORM是沒有published域的,是不是可以考慮從TCUSTOMFORM重新繼承并寫過呢?
FrameSniper
2003-09-19
打赏
举报
回复
To Cscentaur
我知道那上面有OTA的东西!但没有仔细看过!学习学习....
feng93017
2003-09-19
打赏
举报
回复
不必这么复杂,直接使用窗体继承就可以了。嘿嘿!
cscentaur
2003-09-17
打赏
举报
回复
代码很长的,不过在Delphi5开发人员指南》的第26章使用Delphi Open Tools API中有很具体的代码,照抄再加上点自己要的东东就可以了,不要跟我说你没有这书哦。
FrameSniper
2003-09-15
打赏
举报
回复
Sorry,没有注意,这里是个窗体,我想成控件了!
那你用OTA又是如何实现的呢?可以说说详细过程吗?
cscentaur
2003-09-15
打赏
举报
回复
哦,这样吗?不知楼上的老兄试过了没有,反正我是没试成功,因为在Palette上是不可能建个Form出来的吧,因为IDE不知道如何在另一个Form中显示它。反正我不用Open Tools API的情况下是没成功过。
FrameSniper
2003-09-15
打赏
举报
回复
这个和OTA没有多大关系吧,要想让属性在Object Inspector里面显示,就需要把属性定义为公布的,因为Delphi为公布的属性保存RTTI信息!
所有的RTTI信息都是从TPersistent类开始进行扩展的,因为TPersistent类是定义在{$M+}的条件下。所以既然已经TForm类固定不可变,你只能派生一个TForm的子类,然后给它定义个额外的公布的属性,最后注册到Palette里面就可以了!
cscentaur
2003-09-15
打赏
举报
回复
关于在Form中自定义属性并可以在属性窗口中访问的问题,你可以看《Delphi5开发人员指南》的第26章使用Delphi Open Tools API,在本章中,你将看到如何自己定义一个窗体并在IDE中注册,代码有点规模,你自己去看吧。
INeedCa
2003-09-15
打赏
举报
回复
定义到Published域中就可以在PROPERTY INSPECTOR中访问
wdsimon
2003-09-12
打赏
举报
回复
从Tform继承,然后添加新属性就可以了啊
如下为form1添加一个新属性str,并初始化为'hello,world!',然后form1的caption等于属性str
unit Unit1;
interface
uses
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.
haixj
2003-09-12
打赏
举报
回复
UP
haixj
2003-09-12
打赏
举报
回复
怎麼沒人回答啊!!!
就是form自定義的屬性在派生後的FORM中的PROPERTY INSPECTOR中看不到,但在代碼中可以訪問.
c#
自定
义控件属性
_ali 随笔 - 67, 文章 - 0, 评论 - 2, 引用 - 0 C#中的
自定
义控件中的属性、事件及一些...今天学习了下C#用户控件开发添加
自定
义属性的事件,主要参考了MSDN,总结并实验了一些用于开发
自定
义属性和事件的特性
Win
Form
自定
义类型属性的设计器支持
通常win
form
系统类型变量,如 double、string、float等类型属性会被属性
窗口
自动识别添加,使得我们可以手动输入其...但如果是
自定
义类型属性时,属性
窗口
却会灰掉,无法
修改
。这时需要自动应以类型转换TypeConverter。
C#中的
自定
义控件中的属性、事件及一些相关特性的总结(转)
今天学习了下C#用户控件开发添加
自定
义属性的事件,主要参考了MSDN,总结并实验了一些用于开发
自定
义属性和事件的特性(Attribute)。 在这里先说一下我的环境: 操作系统:Windows7旗舰版(Service Pack 1) VS版本...
C#中
自定
义控件隐藏基类成员(属性、方法和事件)的方法
编写
自定
义控件时,总是继承C#中提供的Control类,而Control类是C#中所有窗体控件的基类,里面定义了大量的属性、方法和事件,而很多基类成员在
自定
义控件中可能不需要,因为编写者会希望在
自定
义控件中隐藏这些成员...
C#中的
自定
义控件中的属性、事件及一些相关特性的总结
今天学习了下C#用户控件开发添加
自定
义属性的事件,主要参考了MSDN,总结并实验了一些用于开发
自定
义属性和事件的特性(Attribute)。 在这里先说一下我的环境: 操作系统:Windows7旗舰版(Service Pack 1) VS...
Delphi
5,392
社区成员
262,731
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章