Showmodal与Show的区别
1 Show();
FreeAllSingleDocumentFrm;
Application.CreateFormTImpluseTestWellPlate, ImpluseTestWellPlate);
ImpluseTestWellPlate.Show;
2 ShowModal()
Application.CreateFormTCljs_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是可以有返回值的