在文档视图应用程序中,应用程序的数据有文档对象代表,而数据的视图由视图对象代表。文档和视图合作来处理用户的输入并绘制结果数据的文字或图形表示。MFC的CDocument类是文档对象的基类,CView类是视图对象的基类。应用程序的主窗口CFrameWnd和CMDIFrameWnd类已经不再以处理消息为工作焦点了,而是主要用作了视图、工具栏以及其他用户界面的容器。
MFC支持两种类型的文档/视图程序。单文档界面(SDI)应用程序只支持打开一个文档。多文档界面(MDI)应用程序允许同时打开两个以上文档,还支持给定文档的多个视图。那么,单文档可不可以有多个视图呢,答案是可以,但是一次只能显示一个视图,如果想显示新视图必须关闭当前视图。如果想同时显示两个视图可以用分割窗口。这是因为在MFC中,视图必须存在于框架之中,而单文档只有一个框架。主结构隐藏了两种用户界面模型间的差别,以致编写SDI和MDI应用程序没有多少不同。