1. 程式人生 > >MDI程式與SDI程式的區別

MDI程式與SDI程式的區別

多文件MDI應用程式和單文件SDI應用程式的主要不同在於:它支援多個文件、甚至多個文件型別。從使用者的角度,他們有以下幾點差別:

(1)    MDI允許使用者同時開啟多個文件,而SDI只能開啟一個文件。

(2)    MDI應用程式甚至可以支援多種文件型別。例如word不僅支援.doc檔案,還可以開啟web頁面檔案.html等。

(3)    MDI應用程式通常包含一個windows選單,可以用它來切換顯示同一個文件的不同檢視,還可以切換顯示不同文件的檢視。

(4)    SDI應用程式僅有一個框架視窗,而MDI應用程式有兩個:一個是頂層框架視窗,另一個是文件視窗。前者和SDI的框架視窗類似,後者則用來包含開啟文件的檢視。

(5)    SDI應用程式通常只有一個選單,而MDI應用程式通常含有兩個,一個在沒有文件開啟時顯示,另一個在有文件開啟時顯示。

SDI和MDI在結構上的區別在於:

(1)    MDI應用程式的框架視窗從CMDIFrameWnd類中派生,而SDI應用程式的框架視窗從CFrameWnd類中派生。

(2)    MDI應用程式中包含文件檢視的子視窗由CMDIChildWnd派生,而SDI應用程式不存在子框架視窗。

(3)    MDI應用程式和SDI應用程式的文件模板類不同。MDI應用程式中使用CMultiDocTemplate類物件,而SDI應用程式使用CSingleDocTemplate類物件。

(4)    MDI應用程式至少含有兩個選單資源,而SDI只有一個。