在给定的时间段后关闭或丢弃MFC对话框

时间:2009-06-11 09:27:11

标签: c++ visual-c++ mfc

如何在10秒后自动关闭或丢弃MFC对话框。

2 个答案:

答案 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秒。在计时器消息处理程序上发布关闭消息。