在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Showmodal与Show的区别2009-12-24 11:07:28| 分类: 默认分类 | 标签: |字号大中小 订阅 Showmodal是个函数,Show是个过程
消息窗体ShowModal()显示时,主窗体是能够处理下一条消息的。使用ShowModal()显示时,其它的窗体
ShowModal 出来的对话框必须关掉才能处理其他窗体.也就是当前焦点不能转移到其他的窗体上,除非关掉.
Create(**)这个是要看具体的哪个函数了,一般来说Delphi自带的那几个控件,它是来用指定它的属主的,如果置为nil的时候,这个控件是自操作的,也就是说释放什么的,你要自己管.如果你设了一个属主后,这个释放你就不用管了,它的属主被释放的时候,它自己也同时会被释放.
两种窗体的区别主要是模态和非模态的.无论在哪种开发什么,应该都是这样的,甚至连网页打开的窗体也是一样的.
ShowModal与Show的区别 在用delphi开发时,碰到这样的问题:fomr2.ShowModal出现cannot make a visible window modal错误,但fomr2.Show则正常,为什么? 因为ShowModal与Show是不同的。 fomr2.ShowModal时,要求Form2.Visiable=False,假使你设置为Visiable=True就会产生错误: ShowModal函数定义: function TCustomForm.ShowModal: Integer; var WindowList: Pointer; SaveFocusCount: Integer; SaveCursor: TCursor; SaveCount: Integer; ActiveWindow: HWnd; begin CancelDrag; if Visible //Form.visible=True. or not Enabled or (fsModal in FFormState) or (FormStyle = fsMDIChild) then raise EInvalidOperation.Create(SCannotShowModal); //产生一个raise,出错误。 其中 SCannotShowModal = 'Cannot make a visible window modal'; ... end
fomr2.Show时,要求Form2.Visiable=True或False都不会错。
Show函数定义: procedure TCustomForm.Show; begin Visible := True; BringToFront; end; |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论