模态对话框切换窗口后无响应
一个很简单的对话框,就是显示当前的状态,代码如下;
void CAboutDlg::OnOK()
{
// TODO: Add extra validation here
int i=0;
CString s;
while (TRUE) {
Sleep(100);
s.Format( "现在运行了约%d 秒了!! ",i/10);
GetDlgItem(IDC_TEXT)-> SetWindowText(s); //IDC_TEXT 是一个文本控件!
i++;
}
//CDialog::OnOK();
}
如果焦点一直在这个窗口,那么运行的很好,但如果双击窗口标题栏或切换窗口后,如运行其他的程序,当再回到此窗口时,却显示 "窗口没有响应 ",窗口被冻结了,但实际上程序是在运行,只是没有重画窗体而已!
请问,有什么方法来解决此问题呢?
[解决办法]
多线程
[解决办法]
不用担心死循环,我会有处理的,这里只是一个演示例子, 当用户按下确定后,对话框可以正常运行!只要你不切换窗口.
还不担心啊~~~~已经死了!!所以不会再调用onpaint函数进行刷新!
ontimer 消息,WM_TIMER,再用SetTimer和KillTimer
多线程的话不了解先去看会书咯````