目标
在一个MDI应用程序中,根据当前看到的文档显示一个不同的菜单。步骤
在应用程序类中定义一个新的文档模板
1) 用I D编辑器为该文档类型创建新的ID。在本例中,我们用IDR_WZDTYPE1。
2) 选择Workspace窗口的Resource View,并打开Menu文件夹,找到应用程序当前菜单的菜单ID,选中它,然后按Ctrl + C和Ctrl + V复制它。通过右击该复制的ID并单击P roperty,给它设置新文档类型的ID。
3) 重复上一步为该文档类型创建一个图标,图标位于I c o n文件夹中。
4) 重复上一步在串表中创建一个新文档串类型,串表位于String Ta b l e文件夹中,找到下面这样的串:IDR_WZDTYPE "\nWzd\nWzd\n\n\nWzd.Document\nWzd Document"
还应当改变这些值以反映新的文档类型。现在,只要在每次提到应用程序名字的后面填加1,本例中是Wzd。
5) 用ClassWizard有选择地创建一个新视图类和新文档类。参看例1,确定从哪个M FC类派生类。
6) 现在,可以使用创建的资源和类,在应用程序类中创建一个新的文档模板。直接把下面的代码添加到创建当前文档模板代码的后面。
pDocTemplate = new CMultiDocTemplate(
                       IDR_WZDTYPE1, //new document id type
                       RUNTIME_CLASS(CWzdDoc), //new document class
                       RUNTIME_CLASS(CChildFrame), //MDI child frame
                       RUNTIME_CLASS(CWzd2View)); //new view class
AddDocTemplate(pDocTemplate);
7) 现在,可以用菜单编辑器改变第二个,即拷贝的菜单。当用户打开一个文档时,他们可以选择打开一个原始文档类型还是该新文档类型。如果两种类型同时打开,它们都有各自不同的菜单,单击相应的视图,使应用程序菜单作出相应变化。
当中第(6)步是怎么做的?