您好: 三种标准的单文档与多视情况
1.视对象基于同一视类,每个视位于MDI的一个独立子文档框架中。
用户可以通过“窗口\新窗口”菜单,为同一文档的视再创建一个窗口,通过新创建的窗口,可以编辑和观察文档的另一部分,同一文档各个视图之间自动实现同步,用户修改一个视的内容,在另外的视中也自动更新。
MFC框架通过复制原来的子框架窗口和其中的视来实现上面的功能,并且是完全自动的。
2.视对象基于同一视类,所有视位于同一文档框架中。
分割窗口将单文档窗口的视区分割成几个独立的视,框架从同一视类创建多个视对象。Word的子窗口即属于这种类型。
3.视对象基于不同的视类,所有的视位于同一文档框架中。
多个视共享同一文档框架,但从不同的视类创建,每个视可以为文档提供不同的观察和编辑方法。比如一个视用图形观察文档,而另一个视用文本编辑文档中对象的属性。这种情况也适应于用不同的视来观察文档的不同部分。这种类型的实现方法是通过重载OnCreateClient函数实现。下面的例子实现了图中的分割窗口。