古詩詞大全網 - 成語經典 - VC++中想要在關閉時彈出確認對話框應該怎麽做

VC++中想要在關閉時彈出確認對話框應該怎麽做

這裏關鍵要看,對話框是模態還是非模態。

模態對話框的確定和取消按鈕,調用的是EndDialog來結束對話框,不會觸發WM_CLOSE消息,因此,要在兩個按鈕響應消息OnOK和OnCancel中進行確認提示,以OnOK為例:

void?CDialog1::OnOK()?

{

if(IDOK==AfxMessageBox(_T("您確定要退出嗎"),MB_OKCANCEL))

CDialogEx::OnOK();

}

需要註意的是,即使是模態對話框,如果在標題欄中增加了系統按鈕,那麽“紅叉”按鈕的關閉還是需要響應WM_CLOSE消息,也就是妳同樣需要在OnClose裏面做這個確認提示。

非模態對話框,會屏蔽OnOK和OnCancel中的基類調用,只需要響應WM_CLOSE即可。