MFC 多文档的新建

           MFC多文档的新建文档的时候 ,我们首先触发的app的消息,app ::OnFileNew()然后是 m_pDocManager->OnFileNew()到了文档管理器 类中OnFileNew中会CDocTemplate* pTemplate = (CDocTemplate*)m_templateList.GetHead();  从而找到CDocTemplate* pTemplate ;最后会调用pTemplate->OpenDocumentFile(NULL);。我们要创建一个属于自己的模板的应用程序就要跳过 文档管理类直接去创建   。具体做法是你在app中去定义几个模板类指针CDocTemplate* pTemplate 1,CDocTemplate* pTemplate 2,CDocTemplate* pTemplate 3.我们在app的OnFileNew 的时候我们直接用这些CDocTemplate* 指针* pTemplate(1,2,3)中的一个去创建文档。正常的流程是在这个之后会 CMultiDocTemplate::OpenDocumentFile,在这个函数中CDocument* pDocument = CreateNewDocument();我们要是改变了模板类指针的,创建的时候会根据我们自己的模板类中添加的docment的runtimeclass 去构建文档。之后会调用CFrameWnd* pFrame = CreateNewFrame(pDocument, NULL);这个会加载框架 和view  也是更加frame 的runtimeclass和view的runtimeclass 去构建的。所以要改变构建自己的文档框架视图就是要重载app ::OnFileNew  这样就会去构建的你的文档视图。

你可能感兴趣的:(MFC 多文档的新建)