VC++中想要在关闭时弹出确认对话框应该怎么做

2022-04-04 社会 196阅读

这里关键要看,对话框是模态还是非模态。

模态对话框的确定和取消按钮,调用的是EndDialog来结束对话框,不会触发WM_CLOSE消息,因此,要在两个按钮响应消息OnOK和OnCancel中进行确认提示,以OnOK为例:

void CDialog1::OnOK() 
{
    if(IDOK==AfxMessageBox(_T("您确定要退出吗"),MB_OKCANCEL))
CDialogEx::OnOK();
}

需要注意的是,即使是模态对话框,如果在标题栏中增加了系统按钮,那么“红叉”按钮的关闭还是需要响应WM_CLOSE消息,也就是你同样需要在OnClose里面做这个确认提示。

非模态对话框,会屏蔽OnOK和OnCancel中的基类调用,只需要响应WM_CLOSE即可。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com