在给定时间段后关闭或放弃 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 对话框的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 中禁用基于对话框的 MFC 应用程序的自动关闭?
MFC如何弹出新对话框的同时隐藏当前对话框并且关闭新对话框后出现之前对话框