MFC在视类中如何退出程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC在视类中如何退出程序相关的知识,希望对你有一定的参考价值。
如果试图给视类发送WM_CLOSE消息只能造成当前文档被关闭
是不是该发给框架类呢?那又该怎么个发法?
主要还是在视类中实现退出整个程序
应当在CWinApp用
CWinApp::OnAppExit 退出。
改写OnAppExit:
ON_COMMAND(ID_APP_EXIT, OnAppExit)
真想关掉程序,揿窗右上角的叉叉框就可以了。 参考技术A AfxGetMainWnd()->SendMessage(WM_CLOSE);
不要使用ExitProcess,该函数具有强制性,在执行完毕后进程即被结束,因此位于其后的任何代码将不能被执行。虽然ExitProcess()函数可以在结束进程的同时通知与其关联的动态链接库,但是由于它的这种执行的强制性,使得ExitProcess()函数在使用上将存在有安全隐患。
例如,如果在程序调用ExitProcess()函数之前曾用new操作符申请过一段空间,那么将会由于ExitProcess()函数的强制性而无法通过delete操作符将其释放,从而造成内存泄露。有鉴于ExitProcess()函数的强制性和不安全性,在使用时一定要引起注意。本回答被提问者和网友采纳 参考技术B exit(0); 参考技术C ExitProcess(0);
VC++调试的基本快捷键
VS2012新建一个单文档工程;在视类CPP文件尾部添加一个sum()函数;
int sum()
int i, sum=0;
for(i=1; i<=100; i++)
sum+=i;
return sum;
在视类CPP文件头部添加sum()函数声明;在OnDraw()函数写如下代码;在如下图语句设置断点;
启动调试;停留到如下图;
按F11,这是逐语句调试,然后会进入sum()函数,
按F11会一直在此函数内部,
跳出函数按Shift+F11,返回到下图;
结束此次运行;重新启动调试,停留到 s1 = sum(); 这一句时,按F10,这是逐过程调试,不会进入sum()函数内,直接进到下一句;
F11 - 逐语句,F10 - 逐过程,Shift+F11 - 从函数中跳出;
以上是关于MFC在视类中如何退出程序的主要内容,如果未能解决你的问题,请参考以下文章