我有一个对话框,响应了WM_DESTORY并重载了OnClose,但为何,关闭对话框时并没有执行OnDestroy?

解决方案 »

  1.   

    WM_DESTROY是和WM_CREATE对应的。如果DoModal出来的对话框我猜应该没有执行OnDestroy,楼主可以测试一下
      

  2.   

    个人认为,
    由于你是重载,函数中需要添加上 销毁窗口 的功能,
    你在重载 OnClose() 的时候需要调用 基类的 OnClose,即是 CWnd::OnClose;
    或者是 CWnd::OnDestroy
    另外,CWnd::OnClos() 缺省实现的功能是 DestroyWindow ,并非是 OnDestroy。最后,楼上所说的 DoModal出来的对话框 是自动调动 销毁窗口 的函数的。