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