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 Foundation Class Library 原始程式碼或 VIEWEX 等範例程式將會引導您。 如果您忘記必要的參數,架構判斷提示會告訴您忘記的內容。
如需 的詳細資訊 CCreateContext
,請參閱 MFC 範例 VIEWEX 。
需求
標頭: afxext.h
另請參閱
階層架構圖表
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Create
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應