CCreateContext Structure

框架使用 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 ”。如果您计划中重写这些属性,请参考这些函数的声明特定的信息。

这是一些通用准则:

  • 当通过,因为windows创建的参数,在 CWnd::CreateCFrameWnd::CreateCFrameWnd::LoadFrame,创建上下文指定应连接的窗口。 对于大多数窗口,整个结构是可选的,并且 NULL 指针可以通过。

  • 对于可重写的成员函数,例如 CFrameWnd::OnCreateClientCCreateContext 参数是可选的。

  • 对于视图创建涉及的成员函数时,必须提供足够的信息来创建视图。 例如,在拆分窗口的第一个视图,必须提供视图选件类信息,并且当前文件。

通常,因此,如果使用框架默认,您可以忽略 CCreateContext。 如果尝试更高级的修改,Microsoft基础类库选件源代码或示例程序,例如VIEWEX中,将引导您完成。 如果忘记一个必选参数,结构断言将告知您要忘记了。

有关 CCreateContext的更多信息,请参见MFC示例 VIEWEX

要求

**标头:**afxext.h

请参见

参考

层次结构图

CFrameWnd::Create

CFrameWnd::LoadFrame

CFrameWnd::OnCreateClient

CSplitterWnd::Create

CSplitterWnd::CreateView

CWnd::Create