MFC框架——单文档/多文档/对话框/多顶级文档的区别
本文是在Windows 10 和 visual studio 2017的实验环境下完成的。
正文中的引用出自王正军编著的《Visual C++ 6.0 程序设计从入门到精通》
窗口的概念
窗口是屏幕上的一块矩形区域,是用来接受用户输入和程序输出的。
注:本文的文档特指单文档和多文档中的文档,与文档-视图结构中的文档类(文档对象)不同。
单文档/多文档/对话框/多顶级文档的区别
单文档(SDI)
在单文档界面程序中,同一时刻只能操作一个文档。在单文档界面中打开文档时,程序会自动关闭当前打开的活动文档,若文档修改后尚未保存,会提示是否保存所做的修改。
典型的应用程序:Windows自带的记事本程序(Notepad)
多文档(MDI)
在多文档界面应用程序中允许同时操作多个文档。在界面中可以同时打开多个文件(同时也就为每个文件打开一个窗口),并通过切换活动窗口激活相应的文档进行编辑。
流行的多标签就是多文档的一种。
典型应用程序:Notepad++。
对话框
如图
多顶级文档
打开窗口的状态和任务管理器中的运行状态和Word 2016相似。