VC++ 多文档模板(添加新文档模板)编程实例
现在假设要做一个VC++多文档程序,一个文档类型处理txt文件,一个文档类型处理图片文件;
新加一个Img的文档模板类型;
先新建一个多文档工程,名为duodocDemo1;
在菜单选择 插入-类;
插入CImgDoc类,选择Base class为CDocument,类名输入CImgDoc,类的类型此时为MFC Class;其他不用管,确定;
如此插入CImgView类,CImgFrame类;
完成后项目文件如下;
然后在Resource.h定义一个资源标识符IDR_IMGTYPE;前面三行框架自带,40001这个自己加的;
#define IDD_ABOUTBOX 100
#define IDR_MAINFRAME 128
#define IDR_DUODOCTYPE 129
#define IDR_IMGTYPE 40001
然后在应用程序类的InitInstance()中添加新的文档模板;
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(
IDR_DUODOCTYPE,
RUNTIME_CLASS(CDuodocDemo1Doc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CDuodocDemo1View));
AddDocTemplate(pDocTemplate);
CMultiDocTemplate* pImgTemplate;
pImgTemplate = new CMultiDocTemplate(
IDR_IMGTYPE,
RUNTIME_CLASS(CImgDoc),
RUNTIME_CLASS(CImgFrame),
RUNTIME_CLASS(CImgView));
AddDocTemplate(pImgTemplate);
前一个模板是框架已经有的,后一个是自己加的;
然后在应用程序类cpp文件的头部,添加包含新加三个类的头文件;后三行是自己加的;
#include "MainFrm.h"
#include "ChildFrm.h"
#include "duodocDemo1Doc.h"
#include "duodocDemo1View.h"
#include "ImgFrame.h"
#include "ImgDoc.h"
#include "ImgView.h"
然后进入资源中的字串表,在IDR_DUODOCTYPE上右击,在弹出菜单选择 新建字串;这样新建的字串将加在其后;
新加字串值为:
Img程序界面\nImg\nImg\nImg文件(*.jpg)\n.jpg\nImg.Document\nImg Document
然后运行程序,出现如下对话框;可以选择新建某种模板;程序运行后,点 新建,也会出现此对话框;此时可以新建两种不同类型的文档模板;
然后在CDuodocDemo1App::InitInstance()中,ProcessShellCommand处理之前,加入
cmdInfo.m_nShellCommand = CCommandLineInfo.FileNothing;
一句;如下;功能如注释;
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
//主要是在应用程序的建立的时候不建立任何类型的文档。
cmdInfo.m_nShellCommand = CCommandLineInfo.FileNothing;
// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE;
再运行程序,只会出现一个空的主框架;不会建立任何类型的文档窗口;
到此新建一种类型的文档模板已经实现了;但是还没有任何功能。
VC++ 多文档模板(添加新文档模板)编程实例相关推荐
- linux如何右键新建文件夹,在Ubuntu 18.04右键菜单中增加新文档(New Document)及其他类型选项...
本文教你在Ubuntu 18.04操作系统下使用命令操作在右键菜单中增加"新文档(New Document)"选项,包括为不同文件类型增加右键菜单选项的方法.起因是当我尝试创建一个 ...
- Java在PDF文档中添加或删除页面
前言 当你编辑一个PDF文档时,有时需要删除文档中多余的页面或向文档中添加新的页面.本文将向您演示如何使用Spire.PDF for Java在PDF文档中添加或删除页面. 程序环境 安装Spire. ...
- 多个word文档合并为一个文档 Java实现
不用额外新建一个空文档,适合需要不断往一个文档中添加其他文档的情况.适合每页格式固定,添加文件新起一页的情况.可进行测试. package could.com.hanwen.govapi.Test;i ...
- html加密文档如何打开,Word文档加密打不开怎么办?
今天总结一下对Word文档解除密码保护的三种方法,如下: 方法一:文件另存法 打开受保护的文档,依次单击"文件→另存为",弹出"另存为"对话窗口,在" ...
- 使用 .NET Core模板引擎创建自定义的模板和项目
本文要点 .NET CLI 包含了一个模板引擎,它可以直接利用命令行创建新项目和项目项.这就是"dotnet new"命令. 默认模板集涵盖了默认控制台和基于 ASP.NET 的应 ...
- 自定义Word样式模板,设置为默认模板
文章目录 前言 一.具体操作步骤 前言 由于在大学毕业写论文的时候,论文格式的要求十分严格,但是在完成论文编辑之后,发现这个论文的格式样式对于今后word排版大有益处,于是就将该论文的格式样式保存在一 ...
- html模板改成织梦模板教程,织梦教程:如何用dedecms织梦模板搭建网站?
如何用dedecms织梦模板搭建网站?目前,dedecms织梦程序是互联网很多新手站长建站用的比较多的,它的安装过程比较简单,代码修改也没那么复杂,可以进行二次开发,加上有一定的知名度,在网上可以找到 ...
- html模板改成织梦模板教程,织梦模板修改及使用详细视频教程
今天小编为大家带来织梦模板使用修改及使用详细视频教程. 相信有很多小白都有体会到,安装好织梦,进入后台一脸懵,完全不会使用,今天我给大家亲身录制的个视频教程. 安装方法: 安装dede模板方法有多种, ...
- php往pdf模板添加数据,用PHP编写/绘制PDF模板文档
我希望能够用PHP在现有的PDF文档上编写/覆盖文本.我希望做的是有一个pdf文档,它可以作为一个模板,并通过打开模板文档.覆盖相关文本以及将结果作为一个新文档来填补空白.模板文档是一个单独的页面,因 ...
最新文章
- 习题:八数码难题(双向BFS)
- 【机器学习-学习笔记】单/多变量线性回归、多项式回归、逻辑回归、过拟合、正则化
- Linux Shell常用技巧(二)
- 你会在你的WebRTC 应用程序中使用哪种视频编解码器呢?
- 大牛书单 | 消息队列方向的好书
- SAP CRM Fiori应用My Task的前台优化
- Oracle-逻辑体系结构
- 算法高级(2)-多年以前的电脑算命是怎么回事?
- 利用pandas,pyplot 绘制柱状图
- mysql 亿级高并发_亿级流量系统架构之如何设计每秒十万查询的高并发架构.md
- Mongodb 与 MySQL对比
- 如何解决chm类型的文件在Windows操作系统中无法打开
- 新版Fiddler1.5.1的证书导出和Chrome,Edge,Firefox浏览器导入证书
- 网络控制系统分析与设计——时延问题的网络控制系统建模
- 安捷伦mso8104a示波器电源烧毁故障维修【图文】
- Ubuntu ROS下Conda的最好安装方式
- java对象的哈希值_对象的哈希值
- C++ 实现扫雷小游戏
- 实验室建立计量管理体系的重要性和意义
- OpenCV开发笔记(七十二):红胖子8分钟带你使用opencv+dnn+tensorFlow识别物体
热门文章
- 如何在fluid中添加自定义控件
- 计算机组成原理1--原码、反码、补码、移码之间的关系
- Python 技术篇-用paramiko库实现winodws本地文件上传至linux服务器实例演示
- C++——构造函数析构函数
- STM32CubeMX HAL库串口+DMA数据发送不定长度数据接收
- [YTU]_2635(P4 游戏中的Human角色)
- 8.2 matlab曲线对象和曲面对象(曲线对象、曲面对象、光照处理、图形对象的反射特性)
- class多项式(链表实现)
- 二维矩阵与二维矩阵之间的卷积
- windows自带反编译chm文件