MFC框架——单文档/多文档/对话框/多顶级文档的区别

本文是在Windows 10 和 visual studio 2017的实验环境下完成的。

正文中的引用出自王正军编著的《Visual C++ 6.0 程序设计从入门到精通》

窗口的概念

窗口是屏幕上的一块矩形区域,是用来接受用户输入和程序输出的。
注:本文的文档特指单文档和多文档中的文档,与文档-视图结构中的文档类(文档对象)不同。

单文档/多文档/对话框/多顶级文档的区别

单文档(SDI)

在单文档界面程序中,同一时刻只能操作一个文档。在单文档界面中打开文档时,程序会自动关闭当前打开的活动文档,若文档修改后尚未保存,会提示是否保存所做的修改。

典型的应用程序:Windows自带的记事本程序(Notepad)
图1 单文档

多文档(MDI)

在多文档界面应用程序中允许同时操作多个文档。在界面中可以同时打开多个文件(同时也就为每个文件打开一个窗口),并通过切换活动窗口激活相应的文档进行编辑。

流行的多标签就是多文档的一种。

典型应用程序:Notepad++。

图2 多文档

对话框

如图

图3 对话框

多顶级文档

打开窗口的状态和任务管理器中的运行状态和Word 2016相似。

图4 多顶级文档

图5 任务管理器中的状态(与word 2016类似)

posted @ 2018-03-06 16:34  郝红升  阅读(8962)  评论(2编辑  收藏  举报