mfc怎么实现对话框自动关闭

avatar
作者
筋斗云
阅读量:3

要实现对话框自动关闭,可以使用定时器来实现。具体步骤如下:

  1. 在对话框类的头文件中添加定时器的ID号,例如:#define TIMER_ID_CLOSE_DIALOG 1001

  2. 在对话框类的OnInitDialog()函数中添加定时器,设置定时器的时间间隔,例如5秒钟自动关闭对话框。

BOOL CMyDialog::OnInitDialog() {     CDialogEx::OnInitDialog();          // 启动定时器,定时关闭对话框     SetTimer(TIMER_ID_CLOSE_DIALOG, 5000, NULL);          return TRUE; } 
  1. 实现对话框类的OnTimer()函数,在该函数中处理定时器消息,关闭对话框。
void CMyDialog::OnTimer(UINT_PTR nIDEvent) {     // 判断定时器ID是否为关闭对话框的定时器ID     if (nIDEvent == TIMER_ID_CLOSE_DIALOG)     {         // 停止定时器         KillTimer(TIMER_ID_CLOSE_DIALOG);                  // 关闭对话框         EndDialog(IDOK);     }          CDialogEx::OnTimer(nIDEvent); } 

这样,当对话框初始化完成后,定时器会启动,并在指定的时间间隔后自动关闭对话框。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!