使用AppWizard創建SDI和MDI的過程相似,主要區別是創建SDI時不生成CChildFrame類,CMainFrame類的基類爲CMainWnd;而在創建MDI時會生成兩個框架類,一個是CMainFrame類,由CMDIFrameWnd類派生而來,另一個是CChildFrame類,由CMDIChildWnd類派生而來。
在SDI的CMainFrame對象不但構成了應用程序框架,也包含了視圖對象。在MDI中,CMainFrame對象是在應用程序類的InitInstance中被創建,而視圖則被包含在CChildFrame對象中。
單文檔(SDI)應用程序在一個主框架上只有一個子框架窗口,如圖3-5-1所示:
圖3-5-1 單文檔應用程序示例
多文檔(MDI)應用程序在一個主框架上可以有多個子框架窗口,如圖3-5-2所示:
圖3-5-2 多文檔應用程序示例