zoukankan      html  css  js  c++  java
  • 虚拟函数DestroyWindow()和视窗消息OnDestroy()的区别在何处?

    Q:

    今天在学习模式和无模式对话框时发现无模式对话框需要在退出时销毁,否则会发生内存泄露,  
      我便在此无模式对话框的OnOK()中调用DestroyWindow(),然后重载OnDestory(),其中delete   this;但是奇怪的是我调用的明明是虚拟函数DestroyWindow()但系统却调用消息OnDestroy(),是我的理解有误,还是有别的原因?希望高手不吝赐教!

    A:

    这两个函数可以理解成一个是主动的,   另一个是被动的.  
      用户主动调用DestroyWindows来关闭窗口,   而当窗口被关闭时OnDestroy函数   被   调用!  

    你调用DestroyWindow(),那么系统就会发一个WM_DESTROY的消息,这个消息会调用OnDestroy()函数.

    DestroyWindow()     ------>   WM_DESTROY+   WM_NCDESTROY   ------>OnDestroy()  
                                        发消息                                                     响应消息映射

  • 相关阅读:
    【转】HEIF图片存储格式探秘
    【转】Maven项目中将配置文件打包到jar包中
    C++ 单词接龙
    vector vector int 初始化
    哈夫曼树的特点
    哈夫曼树的构造
    单链表的逆转(测试数据)
    单链表的逆转
    二叉搜索树的插入
    二叉搜索数的应用
  • 原文地址:https://www.cnblogs.com/elanp/p/1603863.html
Copyright © 2011-2022 走看看