在 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函数中的关闭按钮?

单击控件时在MFC中选择CEdit控件的内容

VS2012与VS2015同时安装用VS2012创建MFC程序时弹出编译错误”fatal error C1083: 无法打开包括文件:“mprapidef.h”: No such file or di

了解用户是不是选择了子菜单项 MFC