什么是MDI窗体?
MDI是Multiple Document Interface的缩写,就是文档窗体的意思。它是和单文档SDI相对的。
MDI和SDI在界面上的主要区别如下:
MDI允许用户同时打开多个文档,而SDI只能打开一个文档。
MDI应用程序甚至可以支持多种文档类型。例如word不仅支持.doc文件,还可以打开web页面文件.html等。
MDI应用程序通常包含一个windows菜单,可以用它来切换显示同一个文档的不同视图,还可以切换显示不同文档的视图。
SDI应用程序仅有一个框架窗口,而MDI应用程序有两个:一个是顶层框架窗口,另一个是文档窗口。前者和SDI的框架窗口类似,后者则用来包含打开文档的视图。
SDI应用程序通常只有一个菜单,而MDI应用程序通常含有两个,一个在没有文档打开时显示,另一个在有文档打开时显示。
SDI和MDI在结构上的区别在于:
MDI应用程序的框架窗口从CMDIFrameWnd类中派生,而SDI应用程序的框架窗口从CFrameWnd类中派生。
MDI应用程序中包含文档视图的子窗口由CMDIChildWnd派生,而SDI应用程序不存在子框架窗口。
MDI应用程序和SDI应用程序的文档模板类不同。MDI应用程序中使用CMultiDocTemplate类对象,而SDI应用程序使用CSingleDocTemplate类对象。
MDI应用程序至少含有两个菜单资源,而SDI只有一个。
一个程序的主界面一般都是MDI窗口。