同一主窗口的客户区内,不过视图类窗口不是普通的窗口,没有标题、系统控制菜单和放大缩小按钮,因此它缺少一些普通窗口的属性,如不采用特殊手段不能用鼠标拖动和进行放大缩小操作。当然这可以通过一些API函数来实现,但这可能会太过麻烦。
---- 细心的朋友可能会注意到MDI的每一个视图其实是被放置在CMDIChildWnd 类派生的主帧窗口的客户区,由此来获得普通窗口的各种特性,使得各个视图窗口在同一主窗口下共存,这也是用MDI实现一文档多视的方法。不过,我们完全可以变通一下,自己建立主帧窗口,并在建立视图时将其父窗口指针指向该主帧窗口,从而获得同用MDI实现多视相同的效果,不过这可能会略显复杂。而分隔器窗口也仅仅为显示视图窗口以及为各个视图窗口的重新定位提供了机制,我们也可以不用分隔器窗口而通过重载主窗口的RecalcLayout来实现视图窗口的重新定位,限于篇幅,这里不再作介绍。有兴趣的朋友可以研究一下CMDIChildWnd和CsplitterWnd实现的MFC源
程序。