共用方式為


CCreateContext 結構

架構會在建立與檔相關聯的框架視窗和檢視時使用 CCreateContext 結構。

語法

struct CCreateContext

備註

CCreateContext 是 結構,沒有基類。

當您建立視窗時,此結構中的值會提供用來將檔元件連線到其資料檢視的資訊。 只有在覆寫建立程式的部分時,才需要使用 CCreateContext

CCreateContext結構包含檔的指標、框架視窗、檢視和檔範本。 它也包含 的指標 CRuntimeClass ,可識別要建立的檢視類型。 執行時間類別資訊和目前的檔指標可用來動態建立新的檢視。 下表建議每個成員的使用方式和時機 CCreateContext

成員 類型 其用途
m_pNewViewClass CRuntimeClass* CRuntimeClass 要建立的新檢視。
m_pCurrentDoc CDocument* 要與新檢視相關聯的現有檔。
m_pNewDocTemplate CDocTemplate* 與建立新 MDI 框架視窗相關聯的檔範本。
m_pLastView CView* 建立分割器視窗檢視或在檔上建立第二個檢視時,建立其他檢視的原始檢視。
m_pCurrentFrame CFrameWnd* 建立其他框架視窗的框架視窗,如同在檔上建立第二個框架視窗一樣。

當檔範本建立檔及其相關聯的元件時,它會驗證儲存在 結構中 CCreateContext 的資訊。 例如,不應該為不存在的檔建立檢視。

注意

中的所有 CCreateContext 指標都是選擇性的,如果未指定或未知,則為 NULL

CCreateContext 是由列在 「另請參閱」底下的成員函式所使用。如果您打算覆寫這些函式,請參閱這些函式的描述以取得特定資訊。

以下是一些一般指導方針:

  • 當做視窗建立的引數傳遞時,如同 在 CWnd::CreateCFrameWnd::CreateCFrameWnd::LoadFrame 中,建立內容會指定應該連接的新視窗。 對於大部分的視窗而言,整個結構是選擇性的, NULL 而且可以傳遞指標。

  • 對於可覆寫的成員函式,例如 CFrameWnd::OnCreateClient ,自 CCreateContext 變數是選擇性的。

  • 對於參與檢視建立的成員函式,您必須提供足夠的資訊來建立檢視。 例如,對於分割器視窗中的第一個檢視,您必須提供檢視類別資訊和目前檔。

一般而言,如果您使用架構預設值,則可以忽略 CCreateContext 。 如果您嘗試進行更進階的修改,Microsoft Foundation Class Library 原始程式碼或 VIEWEX 等範例程式將會引導您。 如果您忘記必要的參數,架構判斷提示會告訴您忘記的內容。

如需 的詳細資訊 CCreateContext ,請參閱 MFC 範例 VIEWEX

需求

標頭: afxext.h

另請參閱

階層架構圖表
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Create