当前位置:首页>开发>正文

delphi释放窗体后如何再次载入窗体 delphi 重载控件办法后若何引用?

2023-07-29 11:13:29 互联网 未知 开发

 delphi释放窗体后如何再次载入窗体 delphi 重载控件办法后若何引用?

delphi释放窗体后如何再次载入窗体

由于是两个窗体之间的调用,需要创建一个全局窗体变量类型。
该变量类型在Button1点击中创建,在Form2的关闭事件中释放。
因此Button1的事件为创建并实例化窗体,由于是全局变量,在创建和实例化时需要先判断窗体是否存在,如果存在,则显示,如果不存在,则创建后再显示。
同样,在关闭时,先判断是否存在,存在则释放再关闭,如果不存在,则直接关闭即可。
这样可以保证程序运行不崩溃。

delphi 重载控件办法后若何引用?

1办法一:在法度榜样中动态创建这个控件办法二:Label1.OnClick := TMyLabel.OnClick做聚合类TMyLabel.label := Label1办法三:如不雅要在IDE中也能用,就只能本身做COMPONENT可视控件的引用不是你如许写得那么简单你须要注册这个控件然后放到你的form上.如许你重载的办法才能起感化.

delphi窗体继承

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

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

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

答案如下:
定义
A= 原窗体单元中,窗体的类FormB= 即将要继承Form1的新窗口类Form---------------------
先大致解释一下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
如果你觉得我帮到了你的忙,记得采纳答案,并点一下赞同! 谢了!

谁知道delphi中怎样制作不规则窗体?

发现一简单、实用不过的巨好方法:在Form1.creat事件中,加入如下代码: form1.canvas.brush:=clear form1.bordstyle:= none//可能有点出入 你在窗体上用一image装载你要的任何画面,设置为透明!你就能得到任意窗体了,当然你现在得到的还只是简单的窗体外型,要想移动窗体,那就要重载form的createparams方法!

最新文章