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::Create
、CFrameWnd::Create
和CFrameWnd::LoadFrame
中,建立內容會指定應該連接的新視窗。 對於大部分的視窗而言,整個結構是選擇性的,NULL
而且可以傳遞指標。對於可覆寫的成員函式,例如
CFrameWnd::OnCreateClient
,自CCreateContext
變數是選擇性的。對於參與檢視建立的成員函式,您必須提供足夠的資訊來建立檢視。 例如,對於分割器視窗中的第一個檢視,您必須提供檢視類別資訊和目前檔。
一般而言,如果您使用架構預設值,則可以忽略 CCreateContext
。 如果您嘗試進行更進階的修改,Microsoft基礎類別庫原始程式碼或 VIEWEX 等範例程式將會引導您。 如果您忘記必要的參數,架構判斷提示會告訴您忘記的內容。
如需 的詳細資訊 CCreateContext
,請參閱 MFC 範例 VIEWEX。
需求
標頭: afxext.h
另請參閱
階層架構圖表
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Create