MFC 对话框应用程序按Alt+F4退出程序实现方法
重写OnSysCommand函数
1.添加消息处理函数
在对话框类的头文件(.h)中添加:
protected:virtualvoidOnSysCommand(UINT nID,LPARAM lParam);DECLARE_MESSAGE_MAP()2.在实现文件(.cpp)中添加实现
// 在消息映射中添加BEGIN_MESSAGE_MAP(CYourDialog,CDialog)ON_WM_SYSCOMMAND()END_MESSAGE_MAP()// 实现OnSysCommand函数voidCYourDialog::OnSysCommand(UINT nID,LPARAM lParam){// 检查是否是关闭系统命令(Alt+F4)if((nID&0xFFF0)==SC_CLOSE){// 弹出确认消息框if(MessageBox(_T("确定要退出程序吗?"),_T("退出确认"),MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON2)==IDYES){// 用户确认退出CDialog::OnSysCommand(nID,lParam);}// 如果用户选择"No",则不执行任何操作(不退出)}else{// 处理其他系统命令CDialog::OnSysCommand(nID,lParam);}}