Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16496947
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:52:00

下载本文示例代码
  我们知道,在一般的MDI应用程序中,只有一个文档模板,程序只能打开一种类型的文档。因此,只要调用File/New或者File/Open创建或者打开文档即可,至于文档、视和框架窗口之间的关系,则由文档模板在幕后控制,不须要对文档模板进行操作。但是,如果应用程序需要处理多种类型的文档,并且何时打开何种文档均需手工控制的话,此时,就必须对文档模板进行编程。  例如,我们需要处理FIRST和SECOND两种文件类型。其中FIRST和SECOND的数据存放格式不同,就不能用相同的数据结构来描述,因此,把它们的数据都存入一个文档是不合适的,若FIRST和SECOND的视也是不同的(比如一个是图像而另一个是声音),因此,要解决这个问题只能分别建立两套文档模板,两套框架窗口,两套文档和两套视,分别用于存放和显示FIRST和SECOND 的数据。并且程序可以根据文件名来分别处理FIRST和SECOND 类型的文件。其主要步骤如下:(1)在应用程序类(CWinApp)的派生类的InitInstance()函数中修改相应部分,增加程序所处理的文档模板,如下所示:CMultiDocTemplate* pFirstDocTemplate;pFirstDocTemplate = new CMultiDocTemplate( IDR_FIRSTTYPE, RUNTIME_CLASS(CFirstDoc), //指定第一种类型文件的文档类 RUNTIME_CLASS(CFirstFrame), //指定第一种类型文件的子框架 RUNTIME_CLASS(CFirstView)); //指定第一种类型文件的视 AddDocTemplate(pFirstDocTemplate); //为第一种类型的文档添加模板 CMultiDocTemplate* pSecondDocTemplate;pSecondDocTemplate = new CMultiDocTemplate( IDR_SECONDTYPE, RUNTIME_CLASS(CSecondDDoc), //指定第二种类型文件的文档类 RUNTIME_CLASS(CSecondFrame), //指定第二种类型文件的子框架 RUNTIME_CLASS(CSecondView)); //指定第二种类型文件的视AddDocTemplate(pSecondDocTemplate); //为第二种类型的文档添加模板共2页。 1 2 8 :   我们知道,在一般的MDI应用程序中,只有一个文档模板,程序只能打开一种类型的文档。因此,只要调用File/New或者File/Open创建或者打开文档即可,至于文档、视和框架窗口之间的关系,则由文档模板在幕后控制,不须要对文档模板进行操作。但是,如果应用程序需要处理多种类型的文档,并且何时打开何种文档均需手工控制的话,此时,就必须对文档模板进行编程。  例如,我们需要处理FIRST和SECOND两种文件类型。其中FIRST和SECOND的数据存放格式不同,就不能用相同的数据结构来描述,因此,把它们的数据都存入一个文档是不合适的,若FIRST和SECOND的视也是不同的(比如一个是图像而另一个是声音),因此,要解决这个问题只能分别建立两套文档模板,两套框架窗口,两套文档和两套视,分别用于存放和显示FIRST和SECOND 的数据。并且程序可以根据文件名来分别处理FIRST和SECOND 类型的文件。其主要步骤如下:(1)在应用程序类(CWinApp)的派生类的InitInstance()函数中修改相应部分,增加程序所处理的文档模板,如下所示:CMultiDocTemplate* pFirstDocTemplate;pFirstDocTemplate = new CMultiDocTemplate( IDR_FIRSTTYPE, RUNTIME_CLASS(CFirstDoc), //指定第一种类型文件的文档类 RUNTIME_CLASS(CFirstFrame), //指定第一种类型文件的子框架 RUNTIME_CLASS(CFirstView)); //指定第一种类型文件的视 AddDocTemplate(pFirstDocTemplate); //为第一种类型的文档添加模板 CMultiDocTemplate* pSecondDocTemplate;pSecondDocTemplate = new CMultiDocTemplate( IDR_SECONDTYPE, RUNTIME_CLASS(CSecondDDoc), //指定第二种类型文件的文档类 RUNTIME_CLASS(CSecondFrame), //指定第二种类型文件的子框架 RUNTIME_CLASS(CSecondView)); //指定第二种类型文件的视AddDocTemplate(pSecondDocTemplate); //为第二种类型的文档添加模板共2页。 1 2 8 : 下载本文示例代码


在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档在Visual C 中如何建立多模板文档
阅读(113) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~