==Application.CreateForm后Form是如何显示出来的?==(50分)

  • 主题发起人 主题发起人 echoljb
  • 开始时间 开始时间
E

echoljb

Unregistered / Unconfirmed
GUEST, unregistred user!
在MDI程序里,点击菜单的某一项(M_add:TMenuItem),点击事件OnClick处理过程如下?
procedure TF_main.M_addClick(Sender: TObject);
begin
Application.CreateForm(TF_add,F_add);
end;
执行完这个过程后F_add窗体(Form)就会显示出来,在OnCreate事件处理过程
里也没有执行F_add.showModal,但为什么F_add能显示出来?
 
你是把这个form加入到auto-create forms里了吧,应该是放到available forms里
 
请明示.
Auto-Create Fomrs在哪?
 
mainmenu -> project -> option -> forms
可以看到了吧:auto-create forms; available forms
 
看到了,以前还不知道有这咚咚:)
不过我那个form是在Avaliable Forms里的。
随便问问:Auto-Create Forms和Availiable Fomrs在操作上和效果上有什么大的分别?
 
Auto-Create Forms列表里的FORM是程序启动时自动进行创建
而Availiable Fomrs里的要自己创建 

在你的工程里点击:project->view source
看看就知道了
 
oh,明白了。
不过关于Form的显示问题还是不明白。到底一个Form能显示,要调用什么函数或者方法?
ShowModal,Show?
 
都可以,只不过showmodal是模式窗体,简单的说,如果你用了showmodal方法,
子窗体显示之后,主窗体无法得到输入焦点。
 
这是MDI的一种特性,如果不用mdi就必须show才能显示出来的。
 
但是程序有一个About窗体,一定要调用ShowModal才能显示出来,而其他几个Form却不用
(都是自己创建的,不过About和那几个Form不在同列菜单里)
 
这几个窗体的formstyle属性不一样的。
 
多谢多谢!!看了一下它们的FormStyle,明白了。谢谢1213兄!
新手上路,没有积分,也没分给你们加:)

谢谢楼上几位的回复,学到东西了:)
 
后退
顶部