Поделиться через


Структура 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 если неопределенного или unknown.

CCreateContext используется функции-членами перечисленными в разделе "см. также". Подробности см. с описаниями этих функций для конкретного сведения при планировании переопределить их.

Вот несколько общих рекомендаций:

  • Переданный в качестве аргумента для создания окна, как в CWnd::Create, CFrameWnd::Create и CFrameWnd::LoadFrame контекст создания указывает, что новое окно должно быть подключено.Для большинства windows, вся структура является необязательным и может быть передан указатель NULL.

  • Для функций-членов переопределяемого метода, например CFrameWnd::OnCreateClient аргумент CCreateContext необязательный.

  • Для функций-членов, задействованных при создании представления, необходимо предоставить достаточно сведений для создания представления.Например, для первого представления в поле разделитель, необходимо предоставить данные для класса представления и текущий документ.

Как правило, при использовании значения по умолчанию для платформы, то можно не учитывать CCreateContext.При попытке дополнительные изменения, исходный код библиотеки Microsoft Foundation Class или примеры программ, например VIEWEX, направит пользователя.Если забываете обязательный параметр, то утверждение, что вы забыли платформы скажет.

Дополнительные сведения о CCreateContext см. в разделе пример VIEWEX MFC.

Требования

заголовок: afxext.h

См. также

Ссылки

Диаграмма иерархии

CFrameWnd::Create

CFrameWnd::LoadFrame

CFrameWnd::OnCreateClient

CSplitterWnd::Create

CSplitterWnd::CreateView

CWnd::Create