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

  • 相关阅读:
    【次大gcd】#uoj #48. 【UR #3】核聚变反应强度
    1591:数字计数
    数位DP模板
    1588:数字游戏
    [NOIP 2017普及组 No.1] 成绩
    [NOIP 2017普及组 No.3] 棋盘
    Apache(httpd)实现反向代理
    注册阿里云域名
    SSH常用命令
    Linux yum 安装Java和MySQL
  • 原文地址:https://www.cnblogs.com/elanp/p/1603863.html
Copyright © 2011-2022 走看看