複製鏈接
請複製以下鏈接發送給好友

CCreateContext

鎖定
在主程序創建框架窗口、以及文檔相關的視圖時,會使用CCreateContext結構。建立窗口時,此結構中的值用於連接構成文檔的組件和文檔數據的視圖。僅當覆蓋了創建過程時才需要使用CCreateContext。
外文名
CCreateContext
使用時間
主程序創建框架窗口
特    點
沒有基類
包    含
指向文檔、框架窗口

目錄

CCreateContext概況

CCreateContext沒有基類
CCreateContext結構包含了指向文檔、框架窗口和文檔模板的指針,包括了一個CRuntimeClass指針,CRuntimeClass標誌了待創建的視圖的類型。運行時類信息和當前文檔指針用於動態地創建視圖。

CCreateContext成員的用法

成員
用途
m_pNewViewClass
待創建的視圖的CRuntimeClass
m_pCurrentDoc
將在其上創建視圖的文檔
m_pNewDocTemplate
待創建的新MDI框架窗口的文檔模板
m_pLastView
待創建視圖所依據的原始視圖,例如在創建分裂窗口的視圖或文檔的第二個框架窗口時
m_pCurrentFrame
待創建框架窗口所依據的框架窗口,例如在文檔上創建第二個框架窗口時
當在文檔模板上創建一個文檔及其相關的組件時,它檢查存儲在CCreateContext結構中的信息的有效性。例如,不能在一個不存在的文檔上建立視圖。
注意:
CCreateContext結構中的所有指針都是可選的,在不需要或者未知時可設為NULL。
“請參閲”部分列出的函數會用到CCreateContext結構。在覆蓋這些函數之前,最好看以下對它們的詳細説明。
通用的指導原則
CCreateContext作為創建窗口時的參數,如CWnd::Create、CFrameWnd:Create和CFrameWnd::LoadFrame,CCreateContext指定了新窗口應連接到的地方。對多數窗口來説,整個結構都是可選的,可傳遞一個NULL指針。
對於可覆蓋的函數,例如CFrameWnd::OnCreateClient,參數CCreateContext也是可選的。
對那些在創建視圖時使用的函數來説,必須在調用時提供足夠的信息以建立視圖。例如,對分裂窗口中的第一個視圖,必須提供視圖的類信息和當前的文檔。
一般説來,如果使用了框架的缺省設置,就可以忽略CCreateContext結構。如果想進行一些高級的修改,MFC類庫源代碼或例子程序(如VIEWEX)可以提供參考。如果記不清參數的使用,框架中提供的斷言將有助於發現參數使用的錯誤。
#include <afxext.h>