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()  
                                        发消息                                                     响应消息映射

  • 相关阅读:
    终于学会用WinCVS来开源了
    从网上收集EMail(正则表达式,C#源码)
    元宝NewBar发布1.2.0测试版
    使用Gimp切图
    shell编程笔记
    poj2485
    poj 3630 字典树
    杭电oj题目和分类
    强连通分量Kosaraju算法
    随机数的产生
  • 原文地址:https://www.cnblogs.com/elanp/p/1603863.html
Copyright © 2011-2022 走看看