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

最佳答案

为您的计时器声明一个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);
    }
    ...
}

根据要从DoModal返回的结果,用IDOK替换IDCANCEL

09-07 03:33