zoukankan      html  css  js  c++  java
  • OnClose()和 OnDestroy()

    基于对话框的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里面。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jiangsok/archive/2009/07/22/4369094.aspx

  • 相关阅读:
    HTML5 模板推荐
    OpenCV初探
    微信开放框架-UCToo
    ProFTPD 初探
    移动开发者服务平台-友盟
    线程原理理解
    JVM参数及性能调优
    GC——垃圾回收
    JVM内存模型
    php常用 随机数
  • 原文地址:https://www.cnblogs.com/CCJVL/p/3376329.html
Copyright © 2011-2022 走看看