要實現對話框自動關閉,可以使用定時器來實現。具體步驟如下:
在對話框類的頭文件中添加定時器的ID號,例如:#define TIMER_ID_CLOSE_DIALOG 1001
。
在對話框類的OnInitDialog()函數中添加定時器,設置定時器的時間間隔,例如5秒鐘自動關閉對話框。
BOOL CMyDialog::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 啟動定時器,定時關閉對話框
SetTimer(TIMER_ID_CLOSE_DIALOG, 5000, NULL);
return TRUE;
}
void CMyDialog::OnTimer(UINT_PTR nIDEvent)
{
// 判斷定時器ID是否為關閉對話框的定時器ID
if (nIDEvent == TIMER_ID_CLOSE_DIALOG)
{
// 停止定時器
KillTimer(TIMER_ID_CLOSE_DIALOG);
// 關閉對話框
EndDialog(IDOK);
}
CDialogEx::OnTimer(nIDEvent);
}
這樣,當對話框初始化完成后,定時器會啟動,并在指定的時間間隔后自動關閉對話框。