Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Платформа использует структуру 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::Create, иCFrameWnd::LoadFrame, в контексте создания нового окна указывается, к чему должно быть подключено новое окно. Для большинства окон вся структура является необязательнойNULL, а указатель можно передать.Для переопределения функций-членов, таких как
CFrameWnd::OnCreateClientCCreateContext, аргумент является необязательным.Для функций-членов, участвующих в создании представления, необходимо предоставить достаточно сведений для создания представления. Например, для первого представления в окне разделения необходимо указать сведения о классе представления и текущий документ.
Как правило, если вы используете платформу по умолчанию, можно игнорировать CCreateContext. При попытке более сложных изменений исходный код библиотеки классов Microsoft Foundation или примеры программ, таких как VIEWEX, поможет вам. Если вы забыли обязательный параметр, утверждение платформы сообщит вам о том, что вы забыли.
Дополнительные сведения см CCreateContext. в примере VIEWEX для MFC.
Требования
Заголовок: afxext.h
См. также
Диаграмма иерархии
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Create