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 出来的对话框则可以将当前焦点转移到其他界面上.

猜你喜欢

转载自blog.csdn.net/qq_33536143/article/details/85762099