OnClose()与OnDestroy()

转载 2012年03月27日 12:05:35

原创地址:http://blog.csdn.net/jiangsok/archive/2009/07/22/4369094.aspx 

基于对话框的MFC程序,发现每次程序退出时,托盘的小图标不能自动消失,鼠标移上去之后才能消失,比较不爽。

后来发现我删除这个图标的代码是在自己重写的OnClose()函数中,结果断点一看,OnClose()根本没有被调用,确切的说是点“退出”不调用,点右上角的“叉”才调用,难怪出现这个结果,后来还有我想在OnClose()函数中有其他操作也没有被调用。

在http://www.qqgb.com/Program/VC/VCJC/Program_250726.html上看到了一个很好的回帖:

1. 点“确定”、“取消”时的关闭路由为 
OnOK()或OnCancel() ---> EndDialog() ---> DestroyWindow() ---> OnDestroy() ---> PostNcDestroy() 
2. 点“关闭”标题栏按钮的关闭路由为 
OnClose()---> DestroyWindow() ---> OnDestroy() ---> PostNcDestroy()

所以OnClose()并不是关闭路由的必经路径, OnDestroy() 才是程序关闭的必经路径,因此重写OnDestroy() ,把我需要在程序结束的操作全部放到了这个函数里面,OK了,不过还要记得把ON_WM_DESTROY()加到MESSAGE MAP里面。

OnOK OnCancel OnClose OnDestroy 详解

  • 2014年01月17日 09:43
  • 286KB
  • 下载

OnOK()、OnCancel()、OnClose()、OnDestroy()(转)

OnOK()、OnCancel()、OnClose()、OnDestroy()(转)  (2010-09-12 17:17:28) 转载▼ 标签:  杂谈 ...

总结OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别(转)

总结OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别(转) 2009年09月22日 下午 08:33 第一,OnOK()和OnCancel()是CDialog基...

关于OnOK()、OnCancel()、OnClose()、OnDestroy() 模式对话框

总结OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别(转) 2009年09月22日 下午 08:33 第一,OnOK()和OnCancel()是CDialog基...

MFC DestroyWindow、OnDestroy、OnClose 程序关闭相关

一、DestroyWindow: The MFC framework manages window destruction as well as creation for those windo...
  • whh_tg
  • whh_tg
  • 2013年01月06日 13:35
  • 9917

【转】关闭对话框,OnClose和OnCancel MFC中屏蔽ESC和回车关闭对话框

【转】关闭对话框,OnClose和OnCancel MFC中屏蔽ESC和回车关闭对话框      我们知道,在对话框中,屏蔽ESC键自动退出可以选择重载OnCancel为哑函数的方法: ...

OnOk,OnCeal ,onClose Ondestry

第一,OnOK()和OnCancel()是CDialog基类的成员函数,而OnClose()和OnDestroy()是CWnd基类的成员函数,即WM消息响应函数。从应用程序结构的角度,拿对话框来说,红...
  • lltaoyy
  • lltaoyy
  • 2011年08月12日 15:07
  • 1169

重载OnOK、OnCancle、OnClose

重载OnOK、OnCancle、OnClose MFC默认建立的Dialog按Esc响应OnCancel,回车响应OnOK,都会关闭对话框,只要重载OnOk和OnCancel函数即可,但...

总结OnOK、OnCancel、OnDestroy函数之间的区别

第一,OnOk()和OnCancel()是CDialog基类的成员函数,即ID为ID_OK和ID_CANCEL的按钮的通知消息的响应函数,而OnClose()和OnDestroy()是CWnd基类的成...
  • diablof
  • diablof
  • 2017年06月16日 16:38
  • 237
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OnClose()与OnDestroy()
举报原因:
原因补充:

(最多只允许输入30个字)