delphi窗体继承
已经有了一个窗体单元,想新建一个窗体继承他。说白了就是改变原来窗体的一些属性,如标题然后重写里面的事件,来实现窗体重复利用。但我不知道咋继承。。。delphi2010...
已经有了一个窗体单元,想新建一个窗体继承他。
说白了就是改变原来窗体的一些属性,如标题
然后重写里面的事件,来实现窗体重复利用。
但我不知道咋继承。。。delphi2010 展开
说白了就是改变原来窗体的一些属性,如标题
然后重写里面的事件,来实现窗体重复利用。
但我不知道咋继承。。。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
如果你觉得我帮到了你的忙,记得采纳答案,并点一下赞同! 谢了!
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)
另外,真心说,窗口内容重用确实是用框架是最最简单好做,而且这才是正道啊!
----------------------------
还不行,继续找我!我会跟进你的问题...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询