Showmodal与Show的区别

Showmodal与Show的区别
1 Show();

FreeAllSingleDocumentFrm;
Application.CreateForm(TImpluseTestWellPlate, ImpluseTestWellPlate);
ImpluseTestWellPlate.Show;

2 ShowModal()

Application.CreateForm(TCljs_WzphFrm, Cljs_WzphFrm);
Cljs_WzphFrm.ShowModal;
Cljs_WzphFrm.Free;

Showmodal是个函数,Show是个过程
1.Showmodal:
概念:
当你调用一个窗口用SHOWMODAL时,当这个窗口显示出来后,程序不会继续自己执行,而是根据你对这个窗口的操作来执行,只有关闭了这个窗口后才会执行。
属性:
FormStyle改为fsNormal,visible改为false

2.Show:
概念:
SHOW不同,当窗口显示后,代码一样往下执行的,即程序会继续执行。
属性:
FormStyle改为fsMDIChild,visible改为True

消息窗体ShowModal()显示时,主窗体是能够处理下一条消息的。使用ShowModal()显示时,其它的窗体
只是不接受用户的操作而已。

另外,Form ShowModal() 时相当于执行了一个 Call ,也就是 ShowModal() 以下的代码在 ShowModal() 出的窗体被关闭前是不会被执行的,但并不影响父窗体的消息循环,这也正是与单一 Show() 的区别!

ShowModal 出来的对话框必须关掉才能处理其他窗体.也就是当前焦点不能转移到其他的窗体上,除非关掉.
Show 出来的对话框则可以将当前焦点转移到其他界面上.

for exampel:

FormA->ShowMadol();
this->Close();
FormA->Show();
this->Close();
第二段程序不等FormA返回就会关掉。而第一段则会等待遇FormA完成返回后,才关闭。而且Show 没有返回值,ShowMadol是可以有返回值的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值