在实际的项目开发时候仅仅依靠MFC AppWizard 生成的文当和视图、框架是不够的,因此我们需要掌握手工进行这种关联。手工进行文当和视图的关联可以有以下两种实现方式:
模仿 MFCAppWizard 实现,使用CDocTemplate 的构造函数:在上面的分析中我们可以看到通过 CDocTemplate (无论是 SDI 中的 CSingleDocTemplate 还是 MDI 中的 CMultiDocTemplate )的构造函数我们可以获得文档、视图和框架的关联。因此可以通过模拟这种方式进行关联。具体实现方法如下:
1 )创建新的文档、视图和框架类,方法是使用 VC 中的 Insert MFC Class
实现。注意到框架类选择CMDIChildWnd 作为基类,文档类选择 CDocument作为基类,而视图类则可以根据需要选择 CView 或其子类( CEditView )等作为基类。
2 )为该框架添加菜单资源,方法是在 VC 资源窗口 Menu 菜单下添加新的菜
单,当然可以通过复制 VC 提供默认菜单进行修改。
3 )在 App 类的 InitInstance ()中添加如下类似代码:
CMultiDocTemplate* m_pDocTemplate;
m_pDocTemplate = new CMultiDocTemplate(
IDR_TESTTYPE,// 改为你新建的菜单资源 ID
RUNTIME_CLASS(CTestDoc),// 改为你新建的文档类
RUNTIME_CLASS(CChildFrame), // 改为你新建的框架类
RUNTIME_CLASS(CTestView));// 改为你新建的视图类
AddDocTemplate(m_pDocTemplate);
4 )为了记录这个文档模版,你可以在 App 类中添加一个 CMultiDocTemplate*类型变量来维持这个文档模版。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。