共用方式為


多重文件類型、檢視和框架視窗

在文件、檢視和它的框架視窗中的標準關聯性在 文件/檢視建立中說明。 許多應用程式只支援單一文件類型 (,但該型別的多個開啟的文件) 會在文件和框架視窗的單一檢視每個文件。 但是,某些應用程式可能需要修改一個或多個這些預設值。

您還想知道關於哪些方面的詳細資訊?

  • 多個資料型別

  • 多個檢視。

  • 多個框架視窗

  • 分隔視窗

多個資料型別

MFC 應用程式精靈來建立您的單一文件類別。 在某些情況下,,不過,您可能需要支援多個資料型別。 例如,您的應用程式可能需要工作表和圖表資料圖表。 每個資料型別表示由其資料類別和可能由它的檢視類別。 當使用者選取檔案新命令時,架構會顯示列出支援的文件類型的對話方塊。 然後建立使用者選取型別的文件。 每個資料型別是由的文件樣板物件來處理。

若要建立額外的資料類別,請參閱 加入類別。 選取 CDocument ,類別型別衍生自並提供所要求的檔案資訊。 然後實作新類別的資料。

若要告知架構您的額外資料類別,您必須加入第二次呼叫在應用程式類別的 InitInstance 覆寫的 AddDocTemplate 。 如需詳細資訊,請參閱 文件樣板

多個檢視。

許多資料只需要單一檢視,不過,支援超過單一文件的檢視是可能的。 為了協助您實作多個檢視,資料物件保留其檢視清單,提供加入和移除檢視提供成員函式,並提供讓的多個檢視知道函式的 UpdateAllViews 成員文件的資料變更的時間。

MFC 支援需要在同一份文件的三個通用使用者介面 (UI) 多個檢視。 這些模型是:

  • 相同的類別,其中每一個檢視物件在不同的 MDI 文件框架視窗。

    您可能會想要支援建立文件中的第二個框架視窗。 使用者可以選取新視窗命令開啟第二個框架以相同資料的用途並使用兩個框架同時檢視文件的不同部分。 這個架構會重複初始框架視窗與檢視支援在 Windows 功能表的新視窗命令 MDI 應用程式的附加至文件。

  • 相同的檢視物件在同一份文件的框架視窗。

    分隔視窗分割單一文件視窗的檢視空間成文件的多個不同的檢視。 架構會從相同檢視類別的多個檢視物件。 如需詳細資訊,請參閱 分隔視窗。

  • 不同的類別檢視物件在單一框架視窗的。

    在這個模型中,分隔視窗的變化,多個檢視共用單一框架視窗。 檢視不同的類別,提供不同的方式來檢視建構檢視相同的資料。 例如,在中,當另一個檢視在大綱模式時,顯示一個檢視在一般模式可能會顯示和文書處理文件。 分隔器控制項允許使用者調整檢視的相對大小。

下圖,分割成部分 A, b 和 c,按顯示順序顯示三個使用者介面 (UI) 模型以上。

多個檢視使用者介面

多重檢視使用者介面

這個架構提供這些模型會實作開新視窗命令和透過提供 CSplitterWnd類別,如 分隔視窗所述。 您可以實作其他模型使用這些做為起點。 如需說明檢視不同的組態,框架視窗和分隔器的範例程式,請參閱 MFC 範例

如需 UpdateAllViews,請參閱《 MFC 參考》中的 Scribble 範例CView 類別。

多個框架視窗

您可以在 Windows 功能表的新視窗命令才能 MDI 應用程式可以在同一份文件的第二個框架視窗。 如需詳細資訊,請參閱 多個檢視使用者介面中的第一個模型。

分隔視窗

在分隔視窗,視窗是或是,分割成兩個以上的可捲動窗格。 分隔器控制項 (或分割框」) 在框架在捲軸旁邊允許使用者調整窗格的相對大小。 每一個窗格是在同一份文件的檢視。 在「Dynamic」分隔器,檢視是相同類別,如本圖 多個檢視使用者介面的 B 部分所顯示。 在「static」分隔器,檢視可能是不同的類別。 分隔視窗兩種由類別 CSplitterWnd支援。

動態分隔視窗,有相同的檢視,可以讓使用者選擇性分隔視窗的多窗格會移動不同窗格檢視文件的不同部分。 使用者可以 unsplit 也移除其他檢視的視窗。 分隔視窗加入到 Scribble 範例 的範例。 這個主題說明建立動態分隔視窗的技術。 動態分隔視窗在圖中 多個檢視使用者介面的 B 部分顯示。

靜態分隔視窗,有不同的類別檢視,以視窗分為多窗格,其中各有不同的用途。 例如,在 Visual C++ 點陣圖編輯器,影像視窗並存顯示兩個窗格。 左邊窗格中顯示點陣圖會出現的原物相同大小的影像。 右側窗格會顯示相同的縮放或放大的影像的點陣圖。 窗格是使用者可以拖曳變更窗格的相對大小的「分隔列」分隔。 靜態分隔視窗在圖中 多個檢視使用者介面的 C 的顯示。

MFC 參考》 (英文) 和 MFC 範例(如需詳細資訊,請參閱 CSplitterWnd 類別。

請參閱

概念

文件/檢視架構