在MDIDocument的某个Document的OnCloseDocument中判断某些条件来决定是否可以关闭该Doc在CMainFrame的OnClose中判断某些条件来决定是否可以关闭该整个程序(用CMDIFrameWnd::OnClose()来关闭)但是问题来了,调用CMDIFrameWnd::OnClose()的过程中才会调用Document的OnCloseDocument,也就是说程序界面都已经关闭了才提示出Document的OnCloseDocument中的判断条件
不知道怎样才可以在关闭主程序时,直接执行CMDIFrameWnd::OnClose()关闭,然后不会执行到Document的OnCloseDocument。

解决方案 »

  1.   

    使用全局变量来控制,当CMainFrame中满足OnClose中的条件可以关闭整个程序的时候对全局变量进行改变,到OnCloseDocument的时候判断上面的那个全局变量来确定是否可以忽略其中的判断条件
      

  2.   

    这是框架窗口的OnClose默认的行为。
    这样可以在框架窗口关闭的时候,关闭活动的Document,如果没有这一个步骤,会造成内存泄漏(资源泄露)。不知道你为什么需要更改这样的行为?
    有什么特殊需求?从你的需求入手可能容易去解决这个问题。