文件、 檢視和架構
MFC 架構的核心是文件和檢視的概念。 文件是與使用者互動的編輯階段作業中的資料物件。 它由New或開啟命令檔案 ] 功能表,通常會儲存在檔案中。 (標準 MFC 的文件,衍生自類別 CDocument,不同於使用中的文件與 OLE 的複合文件。)檢視是透過其使用者進行互動的文件視窗物件。
在執行中應用程式的主要物件如下:
文件或文件。
您的文件類別 (衍生自 CDocument) 指定您的應用程式資料。
如果您想要在應用程式中的 OLE 功能,衍生您的文件類別從 COleDocument 或其衍生的類別,取決於所需的功能的型別之一。
檢視或檢視表中。
檢視類別 (衍生自 CView) 是使用者的 「 視窗上的資料 」。檢視類別控制使用者可以看見文件的資料並且與它互動的方式。 在某些情況下,您可能想要有資料的多個檢視的文件。
如果您需要捲動,衍生自 CScrollView。 如果您的檢視會顯示在對話方塊樣板資源的使用者介面,衍生自 CFormView。 對於簡單的文字資料,請使用,或衍生自 CEditView。 針對以 form 為基礎的資料存取應用程式,例如資料輸入的程式中,衍生自 CRecordView (適用於 ODBC)。 也可以是類別 CTreeView, CListView,以及 CRichEditView。
框架視窗
檢視會顯示於 「 文件框架視窗 」。在 SDI 應用程式中的文件框架視窗也是 「 主框架視窗 」 應用程式。 MDI 應用程式中,文件視窗是顯示在主框架視窗內的子視窗。 在衍生的主框架視窗類別指定的樣式,並包含了檢視框架視窗的其他特性。 如果您需要來自訂框架視窗時,衍生自 CFrameWnd 來自訂的 SDI 應用程式之文件框架視窗。 衍生自 CMDIFrameWnd 來自訂主框架視窗的 MDI 應用程式。 也衍生的類別 CMDIChildWnd 來自訂每個不同的一種應用程式支援的 MDI 文件框架視窗。
文件或多個樣板
文件樣板協調文件、 檢視和框架視窗的建立。 衍生自類別的特定文件樣板類別, CDocTemplate,可以建立並管理某一型別的所有開啟的文件。 支援多個類型的文件的應用程式有多個文件範本。 使用類別 CSingleDocTemplate 的 SDI 應用程式,或使用類別 CMultiDocTemplate MDI 應用程式。
應用程式物件
您的應用程式類別 (衍生自 CWinApp) 控制所有上述的物件,並指定應用程式的行為,例如初始化和清除。 應用程式的一個,唯一的應用程式的物件建立及管理文件範本,為應用程式支援的任何文件型別。
執行緒物件
如果您的應用程式會建立不同的執行緒 — 例如,若要在背景中執行計算 — 您會使用衍生自 CWinThread。 CWinApp 本身衍生自CWinThread ,並在應用程式中代表主要執行緒的執行 (或主處理序)。 您也可以在次要執行緒中使用 MFC。
在執行中應用程式,這些物件相互合作地回應使用者動作,密切的命令和其他訊息。 一個應用程式物件管理一或多個文件範本。 每個文件樣板建立和管理 (取決於應用程式是否 SDI 或 MDI) 的一或多個文件。 使用者檢視和操作透過包含在框架視窗內檢視文件。 下圖顯示對於 SDI 應用程式,這些物件之間的關聯性。
執行的 SDI 應用程式中的物件
本系列文件的其餘部分將說明架構工具、 MFC 應用程式精靈,接著資源編輯器中,建立這些物件、 工作,以及如何在您的程式設計中使用它們。 文件、 檢視和框架視窗中更詳細地討論 Window 物件 和 文件/檢視架構。