如何让窗口停止响应(50分)

  • 主题发起人 主题发起人 yc-zhj
  • 开始时间 开始时间
Y

yc-zhj

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一主窗口,上有一个button1,当按下button1时,弹出另一个窗口1,我如何在能让
焦点一直在窗口1上,主窗口不能响应鼠标事件,直到我退出窗口1,主窗口才能响应
 
button1.click事件中写;
窗口1.showmodal;
 
>当按下button1时:
窗口1: Form1.ShowModal;
 
按下按钮,弹出窗口1,
在窗口1的OnShow事件中设置MainForm.Enabled := False;
在窗口1的OnClose中设置MainForm.Enabled := True;
就行了.
 
9494 showmodal
 
show 可以使任何窗口变成当前窗口
showmodal 当前打开窗口为焦点
 
模态是可以解决一些问题但是,在我同时希望非模态的窗口进行消息处理的时候就不行了,
所以我建议使用以下方式
1,在form1.oncreate中截取application的消息处理函数,用wndfunc1代替
2,wndfunc1屏蔽相关的输入消息
3,在form1.onclose将消息处理还原
 
接受答案了.
 
后退
顶部