这个问题的解决方案是一个简单的练习,当关闭一个文档的所有视图时,是不是释放了该文档呢?反过来想一下,会推断出释放一个文档对象就自动关闭了它的所有视图。
当打算关闭与某个特定文档对象关联的视图时,只需要关闭文档对象本身就可以了。可以利用2.12所讨论的如何编程来关闭一个文档中说明的技术来实现该目标。
上面说明的方法是最简单的方法,然而,有些比较复杂的方法在此不推荐使用,如:
@手工遍历与文档对象关联的所有视图程序清单3.41,并给每个视图的父窗口发送一条WM_CLOSE消息。
@对文档对象调用UpdateAllView(),传送一个特定的lHint参数,该参数告诉每个视图自我关闭。使用这种解决方案,必须为每个视图类重载OnUpdate()函数,并且在该函数中 测试 使视图对象自杀的特定lHint值。