當前位置:成語大全網 - 漢語詞典 - 什麽是mdi?

什麽是mdi?

MDI(Multiple Document Interface)即所謂的多文檔界面,與之相對應的還有單文檔界面(single document interface,SDI),它是微軟從Windows 2.0下的Microsoft Excel電子表格程序中引入的。Excel電子表格用戶有時需要同時操作多個表單,而MDI正好為這種多表單的操作提供了極大的便利,於是產生了MDI程序。

MDI應用的組成使用AppWizard生成壹個MDI項目T(不支持OLE),AppWizard創建壹系列文件形成應用框架。

這些文件分為四類:頭文件(。h)、實現文件(。cpp)、資源文件(。rc)、模塊定義文件(。def),等等。

組成應用程序的對象。

圖1-1說明了應用程序的結構,箭頭表示信息流方向。

五個類派生自CWinApp、CDocument、CView、CMDIFrameWnd和CMDIChildWnd。這五個類的例子是應用程序對象、文檔對象、可視對象、CMainFrame窗口對象和文檔框架窗口對象。

主框架窗口包含壹個視窗、壹個工具欄和壹個狀態欄。

這些類或對象解釋如下。

(1)申請

application類派生自CWinApp。

壹個基於框架的應用必須有且只有壹個應用對象,負責應用的初始化、運行和結束。

(2)邊框窗口

如果是SDI應用,則從CFrameWnd類派生出邊界窗口類,邊界窗口的MDIClient直接包含查看窗口;如果是MDI應用,邊框窗口類是從CMDIFrameWnd類派生的,邊框窗口的客戶子窗口(MDIClient)直接包含文檔邊框窗口。

如果希望支持工具欄和狀態欄,派生的邊界窗口類還應該添加CToolBar和CStatusBar類型的成員變量,並在OnCreate消息處理程序中初始化這兩個控制窗口。

邊框窗口用於管理文檔邊框窗口、視圖窗口、工具欄、菜單、快捷鍵等。,並協調半模式狀態(如上下文幫助(SHIFT+F1模式)和打印預覽)。

(3)文檔邊框窗口

文檔邊框窗口類派生自CMDIChildWnd類,MDI應用程序使用文檔邊框窗口來包含視區。

(4)文件

document類派生自用於管理數據的CDocument類。數據的變更和訪問是通過文檔來實現的。

視口通過文檔對象訪問和更新數據。

(5)取決於

可視化類是從CView或其派生類中派生的。

視頻和文檔鏈接在壹起,在文檔和用戶之間起中介作用,即文檔的內容顯示在屏幕上,用戶的輸入轉化為對文檔的操作。

(6)文檔模板

文檔模板類壹般不需要派生。

MDI應用程序使用多文檔模板類CMultiDocTemplate;SDI應用程序使用單個文檔模板類CSingleDocTemplate。

應用程序通過文檔模板類對象管理上述對象(應用程序對象、文檔對象、主邊界窗口對象、文檔邊界窗口對象和可視對象)的創建。

組成應用程序的對象之間的關系。

在這裏,所涉及的MFC類的繼承或派生關系可以用圖的形式直觀地表達出來,如圖1-2所示。

圖1-2所示的類都是從CObject類派生出來的;所有處理消息的類都是從CCmdTarget類派生的。

如果是多文檔應用,文檔模板使用CMultiDocTemplae,主框架窗口派生自CMdiFarmeWnd,包含工具欄、狀態欄和文檔框架窗口。

文檔框架窗口派生自CMdiChildWnd,文檔框架窗口包含視圖,這些視圖派生自CView或其派生類。

組成應用程序的文件

通過上面的分析,我們可以知道AppWizard生成的MDI框架程序的內容,以及定義和實現的類。

接下來,從文件的角度,我們將考察AppWizard生成了哪些源文件,這些文件的作用是什麽。

表1-1列出了AppWizard生成的頭文件,表1-2列出了AppWizard生成的實現文件及其與頭文件的包含關系。