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

Posted

技术标签:

【中文标题】在给定时间段后关闭或放弃 MFC 对话框【英文标题】:Close or discard MFC dialog after a given period of time 【发布时间】:2009-06-11 09:27:10 【问题描述】:

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

【问题讨论】:

【参考方案1】:

为您的计时器声明一个 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 返回的结果。

【讨论】:

【参考方案2】:

使用SetTimer 10 秒超时。在计时器消息处理程序上发布关闭消息。

【讨论】:

以上是关于在给定时间段后关闭或放弃 MFC 对话框的主要内容,如果未能解决你的问题,请参考以下文章