高难度问题!编写自己的自定义模块,就像 TForm、TDataModule、TFrame 一样!

wanggongqin 2007-01-31 12:14:21
大家都知道:要使继承于 TForm 的 Published 属性和方法出现 Object Inspector 中,
只要完成以下步骤就可以:

1、Publish 你自定义的 Property 或 Event;
2、利用 "Add to Repository" 将你自定义的 Form 加入到 "Object Repository";
3、将你的 Form 加入到一个 Package;
4、在你的 Package 中的 Register 方法中加上:
RegisterCustomModule(TMyCustomForm, TCustomModule);
5、编译你的 Package, 利用 "Install Package" 将它安装到 IDE 中。

现在的问题是:TForm 本身是怎么添加到 New Item 中的呢,
而且 TForm 并不像上述方法添加的 Form 一样,可以选择 Inherit 还是 Copy,
TForm 只能 Inherit。
再查看 TDataModule、TFrame 的代码,它们分别继承与 TComponent 和
TScrollingWinControl 。
它们是怎么添加到 NewItem 中的呢?

现在我也想将我定义的一个继承于 TWinControl 的控件,添加到 NewItem 中,
当我新建这个项目的时候,可以自动新建一个单元,并自动加上继承于我这个类的一个新类,
并且使这个类的 Published 方法和属性显示在 Object Inspector 中,
并且可以像 TForm 一样在设计期添加各种控件到这个控件上面。

我们知道 Delphi IDE 是个开放的开放环境,我想一定有办法实现。
...全文
404 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Heyongfeng 2007-04-19
  • 打赏
  • 举报
回复
关注
wanggongqin 2007-04-06
  • 打赏
  • 举报
回复
旧帖重新开论!
GARNETT2183 2007-02-01
  • 打赏
  • 举报
回复
去看看open tools api,你会发现许多IDE 扩展都可以做.
SmallMaker 2007-02-01
  • 打赏
  • 举报
回复
顶,该问题值得研究
zaza_bbface 2007-02-01
  • 打赏
  • 举报
回复
大家都知道的东西我还不知道呢,收藏先
GARNETT2183 2007-01-31
  • 打赏
  • 举报
回复
可以啊...还可以自己写个向导吧...
dabaicai 2007-01-31
  • 打赏
  • 举报
回复
Inherit 也是可以的
做模板很容易做到
baggiopw 2007-01-31
  • 打赏
  • 举报
回复
用open tools api
wanggongqin 2007-01-31
  • 打赏
  • 举报
回复
请 GARNETT2183 明示!

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧