为什么对话框不响应WM_TIMER消息?
叶挥一路 2009-12-02 01:09:54 我是一个基于对话框的程序,主对话框叫parentDlg,然后再对话框中添加了一个Button的按钮,我的目的是点击Button按钮,然后创建一个提示框(提示框用非模态对话框WaitDlg),提示“Please Wait...”,然后继续执行任务,在执行任务的过程中,不断刷新"Please Wait..."后面的点,感觉是动画的效果,这个打算在OnTimer()里实现,但是我查了N多资料,怎么弄程序就进不到OnTimer()里去,崩溃了要,救救我啊。。。。程序段如下:
void CParentDlg::OnButton()
{
// TODO: Add your control notification handler code here
CWaitDlg *pDlg=new CWaitDlg;
pDlg->Create(IDD_WAITING_DIALOG,this);//IDD_WAITING_DIALOG已经创建好
pDlg->ShowWindow(SW_SHOW);
pDlg->SetTimer(1,2000,NULL);
//SetTimer(1,2000,NULL);//用这个,父窗口的OnTimer()也不进不去
for (long i=0;i<800000000;i++){}//为了延时,Sleep(5000);也不行
pDlg->KillTimer(1);
//KillTimer(1);
pDlg->DestroyWindow();
return;
}
void CWaitDlg::OnTimer(UINT_PTR nIDEvent)//总是进不到这个处理函数
{
// TODO: Add your message handler code here and/or call default
if (1 == nIDEvent)
{
AfxMessageBox("now, OK!");
}
CDialog::OnTimer(nIDEvent);
}