在 MFC 的 SC_CLOSE 中选择“NO”时如何返回应用程序
Posted
技术标签:
【中文标题】在 MFC 的 SC_CLOSE 中选择“NO”时如何返回应用程序【英文标题】:How to return the application when choosing 'NO' in SC_CLOSE of MFC 【发布时间】:2015-06-25 03:08:21 【问题描述】:我在 MFC 中使用关闭 x 按钮。我甚至用代码来处理它
void Main_MFCDlg::OnSysCommand(UINT nID, LPARAM lParam)
if(nID == SC_CLOSE)
if(MessageBox(_T("Are you ready to exit?"), _T("Message"), MB_YESNO) == IDYES);
// Exit here- Done
else
//Return application
else
CDialog::OnSysCommand(nID, lParam);
现在,我想单击“否”选项,然后应用程序仍将运行。如何使代码完成该任务?谢谢
【问题讨论】:
【参考方案1】:如果不想退出则返回,或者允许默认处理:
void OnSysCommand(UINT nID, LPARAM lParam)
if (nID == SC_CLOSE)
if (MessageBox(_T("Are you ready to exit?"), _T("Message"), MB_YESNO) == IDNO)
return;
CDialog::OnSysCommand(nID, lParam);
【讨论】:
以上是关于在 MFC 的 SC_CLOSE 中选择“NO”时如何返回应用程序的主要内容,如果未能解决你的问题,请参考以下文章
MFC中截获最大化最小化消息,取消Esc退出和Enter退出
如何在 MFC No CLR 中访问 Winform ActiveX 控件
如何使用c语言的sc_close禁用messageboxa win32函数中的关闭按钮?
VS2012与VS2015同时安装用VS2012创建MFC程序时弹出编译错误”fatal error C1083: 无法打开包括文件:“mprapidef.h”: No such file or di