delphi窗体继承

已经有了一个窗体单元,想新建一个窗体继承他。
说白了就是改变原来窗体的一些属性,如标题
然后重写里面的事件,来实现窗体重复利用。

但我不知道咋继承。。。delphi2010

在回答提问前,先给出一个 关键字的使用说明:

http://www.cnblogs.com/del/archive/2008/06/23/1228562.html

---------------华丽的分割线--------------------------

答案如下:
定义
A= 原窗体单元中,窗体的类Form1
B= 即将要继承Form1的新窗口类Form2
---------------------
先大致解释一下A的来龙去脉:
A其实也是继承Delphi的窗口类,而在设计中,我们只是把其他一些控件都加入到这个A中.

而现在要继承他,来重复利用,一些东西,可以建立一个类,这就是B了!
然后B是继承A的!
设代码:
Type
B=Class(A)
...

end;
那么要重写里面的事件,其实是不需要这么做的,因为你在设计时做的事件
其实的IDE增加了事件代码,然后将事件的方法关联到对应的On事件中!
所以,B实际上是在A的原始定义状态中进行!
那么这样的话,未免麻烦了很多!怎么办? 当然有办法了,DELPHI提供框架
框架就是将一堆窗体上的控件集合,可以在设计期间当框架是一个容器控件!
但关键是,框架的出现就是为了更好的重复利用!
先新建一个框架Frames 在文件,新建中,类似新建一个新工程差不多!
然后,就出现一个跟Form设计几面几乎一样的窗体,在这个窗体上放入控件,并且可以预先设计事件代码!然后保存就OK了! 主要却别就是框架也可以设置事件,但是没有像窗口创建时的Create事件!
然后,再回到自己的工程,在控件面板中选择Frames控件放入,就会提示到你之前保存的框架了!
选择即可,如果没有提示,建议将制作的框架文件跟工程文件放到同一目录下!
那么接下来的事情,就更加简单了,我在A中放入做好的框架,在A中修改内容,不会影响框架原设计,而是复制!
这样在B中放入框架, 则可以设计各自的特性和功能作用了!

说了好多,从继承说到框架,但LZ需要的是继承,而继承的目的就是要重复利用,然而在delphi的
界面设计而言,要一大堆设置好的控件进行快速重复利用, 框架才是正路!
所以,答案中只大致描述继承方法,而不深入!

---------------华丽的分割线--------------------------
码这么多字累吗? 我不知道,LZ你告诉我吧,我只知道我很认真帮你解决问题!
如仍有疑问,Call me
如果你觉得我帮到了你的忙,记得采纳答案,并点一下赞同! 谢了!追问

没有你说的新建Frames 。

而且即使b = class(a),也没有用,必须在窗体文件中的object改成inherited(网上找的)
太麻烦了,弄了半天

追答

1:没有你说的新建Frames 。

回答:
我现在是DELPHI7,区别应该不大,你在菜单中,File,New,中的Form 的下一个***(a) 就是啦!

2:而且即使b = class(a),也没有用,必须在窗体文件中的object改成inherited(网上找的)
太麻烦了,弄了半天
回答:
这种窗口设计继承,我没有直接这样做过,我估计是,在新建的窗口中修改Class(OldForm)
另外,真心说,窗口内容重用确实是用框架是最最简单好做,而且这才是正道啊!

----------------------------
还不行,继续找我!我会跟进你的问题...

追问

delphi2010没找到。。。。。

追答

NEW -> Other -> 再找 Frame

追问

这个?他怎么在web里面呢、、、、

加我Q好不。。以后教我下,我只会Java,学delphi没几天。。。

Q:710692586

追答

我极少上Q,有问题,你可以消息我,或者发帖然后求助我即可!我看到都会答的!
现在你已经找到了这个框架的创建了, 你只需要按照我前面说的方法去做!
当然,你应该先测试性质地去制作熟悉一下!
例如:建立两个窗口,1个框架,对框架随便设计一下!
然后分别在两个窗口中放入 框架控件(在控件面板),放入时就会提示你要使用的框架文件(之前设计的框架要先保存好),然后就可以看到效果了,运行一下,或者改一改东西,尝试一下,就会明白使用方法了! 记得,问题解决了别忘记点采纳和赞同...

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-01
TmyForm:=TForm.creat();
相似回答