如何在10秒后自动关闭或丢弃MFC对话框。
答案 0 :(得分:12)
为您的计时器声明一个ID,即在CMyDialog.h
某处:
static const UINT ID_MY_TIMER = 1000;
在OnInitDialog
功能中创建一个计时器:
SetTimer(ID_MY_TIMER, 10000, NULL); // 10000ms = 10 secs
为WM_TIMER
添加处理程序(生成的函数将被称为OnTimer
):
void CMyDialog::OnTimer(UINT_PTR nIDEvent)
{
if (nIDEvent == ID_MY_TIMER)
{
EndDialog(IDOK);
}
...
}
将IDOK
替换为IDCANCEL
,具体取决于您从DoModal返回的结果。
答案 1 :(得分:2)
使用SetTimer,超时10秒。在计时器消息处理程序上发布关闭消息。