MFC 物件之間的關聯性

若要幫助您觀察在檢視方塊中的文件/檢視建立程序,請考慮執行中的程式: 文件、 框架視窗用來包含檢視中,以及與文件相關聯的檢視。

  • 文件會保留一份文件和指標的檢視,來建立文件的文件範本。

  • 檢視會持續到它的文件的指標使用,且它的父框架視窗的子系。

  • 文件框架視窗會保留其目前使用中檢視的指標。

  • 文件範本會保留一份開啟的文件。

  • 應用程式儲存一份文件樣版。

  • Windows 會追蹤的所有開啟的視窗,它可以將訊息傳送給他們。

在文件/檢視建立時,會建立這些關聯性。下表顯示如何在執行中的程式中的物件可以存取其他物件。任何物件可以藉由呼叫全域函式來取得應用程式物件的指標 AfxGetApp

取得應用程式中的其他物件的存取權

從物件

如何存取其他物件

Document

使用 GetFirstViewPositionGetNextView 來存取文件的檢視] 清單中。

呼叫 GetDocTemplate 以取得文件範本。

檢視

呼叫 GetDocument 取得文件。

呼叫 GetParentFrame 以取得框架視窗。

文件框架視窗

呼叫 GetActiveView 以取得目前的檢視。

呼叫 GetActiveDocument 取得文件附加至目前的檢視。

MDI 框架視窗

呼叫 MDIGetActive 以取得目前使用中 CMDIChildWnd

通常,框架視窗有一個檢視,但是某些情況下,比如在分隔視窗中,同一個框架視窗包含多個檢視。框架視窗會儲存指標到目前使用中檢視。 指標就會更新任何時候,就會啟動另一個檢視。

注意事項注意事項

主框架視窗的指標儲存在 m_pMainWnd 應用程式] 物件的成員變數。呼叫OnFileNew您的覆寫的InitInstance成員函式的CWinApp設定m_pMainWnd了。如果您不會呼叫OnFileNew,您必須將變數的值設定InitInstance自己。(SDI COM 元件 (伺服器) 應用程式可能未設定變數 /Embedding 是否位於命令列上)。請注意, m_pMainWnd類別的成員現在是CWinThread而不是CWinApp

請參閱

概念

文件範本和文件/檢視建立程序

建立文件樣板

文件/檢視建立

建立新文件、 視窗和檢視表