猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
请问一下关于VC++6.0编辑的对话框怎样修改右上角的叉的响应函数?
我想在对话框退出的时候做一些处理,请问这些处理应该加在哪里?求高手指点!
守候你守候我
浏览 328
回答 2
2回答
犯罪嫌疑人X
关于提问的“对话框怎样修改右上角的叉的响应函数”就是WM_CLOSE消息的处理函数OnClose(),fanskydream已经回答的很详细了,在此不再赘述。我要补充的是,对话框关闭有很多途径,仅仅处理WM_CLOSE消息还是不够的。本人就曾犯过这种错误,在对话框类中new了几个变量,在OnClose中弹出关闭确认的对话框并进行delete。当用户不点击这个“叉”关闭而直接用组合键“Alt+F4”关闭时,问题就来了:首先是没有了关闭确认的对话框,再次就是没有delete那几个在堆上分配的变量造成内存泄漏。因此,建议楼主重载对话框类的OnDestroy()函数。在这个函数里面进行是否关闭的确认,如果用户选择不关闭对话框,就直接返回该函数不调用父类的OnDestroy()即可。而对话框对象内部动态生成的变量析构在放在PostNcDestroy()函数中进行。
0
0
0
烙印99
为你的对话框添加WM_CLOSE的消息处理函数加了这个函数, 在退出前 会进到这个函数里的,你想做什么都可以在这个函数中做。也可以手动添加:(如果楼主知道消息响应函数怎么加的话就没有问题了。)1。头文件afx_msg void OnClose();2.BEGIN_MESSAGE_MAP(CBaiduDlg, CDialog)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()//}}AFX_MSG_MAPON_WM_CLOSE()///这个地方一定要写END_MESSAGE_MAP()3.void CBaiduDlg::OnClose(){// TODO: Add your message handler code here and/or call defaultCDialog::OnClose();}
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关问题
centos7里没有locate命令,请问在哪里有centos6.5的镜像文件?
2 回答
相关分类
Java
Linux
linux
2 回答
centos7里没有locate命令,请问在哪里有centos6.5的镜像文件?
2 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续