存档

文章标签 ‘窗体’

Delphi中的窗体创建与销毁

2011年4月23日  6,007 views 没有评论

Delphi中的窗体,有模式窗体与非模式窗体两种。两种窗体的调用方式不同,模式窗体使用ShowModal显示,非模式窗体使用Show显示。当显示模式窗体的时候你是不能操作本程序的其他窗体的,你不能把焦点从模式窗体转到其他窗体上。而非模式窗体则没有这种限制,你可以从一个非模式窗体切换到另外一个非模式窗体上。两种窗体的区别仅仅在调用的方式上有区别。

窗体的创建:

当使用Delphi的IDE New一个窗体后,在Project1.dpr文件中,会出现一句

Application.CreateForm(TForm2, Form2);

意思是当程序启动的时候会创建TForm2类的Form2实例,也就是窗体2。这一过程是自动的,不管你是否调用显示Form2,
Form2已经存在了,其OnCreate事件也已经触发了。这时候,如果你想显示Form2,那么可以显式调用Form2的Show或ShowModal方法,以非模式或模式显示窗体。

如果你不想随程序启动而创建窗体,而是动态的创建窗体,那么,你可以删除上面的那句代码,然后在程序中你想动态创建窗体的地方加上以下代码:

 //需要在头部引用TForm2所在的单元文件,并声明Form2变量。
Application.CreateForm(TForm2, Form2);

或者使用

//和上面一样,需要引用并声明。注意,一定不要直接这样写Form2.Create
Form2 := TForm2.Create(Application);

阅读全文…

分类: 心得笔记 标签: , , ,