MDI的多种文档类型

简介: 由于具体细节比较复杂,只说一下大道上的。回想不起来就看《深入浅出MFC》。嘿嘿!   要实现多文档类型,主要是要添加相应的DocTemplate,然后在用App里面的AddTemplate将文档类型保存起来。

由于具体细节比较复杂,只说一下大道上的。回想不起来就看《深入浅出MFC》。嘿嘿!

 

要实现多文档类型,主要是要添加相应的DocTemplate,然后在用App里面的AddTemplate将文档类型保存起来。在创建新的文档类型是:要分别为原来的文档类型准备相应的一套资源(菜单,图标等)(手动添加),以及添加这套资源对应的字符串资源。然后就完成相应的CDoc类,CView类,CMDIChildFrame。

 

这三者是创建新的子窗口的必须的三大法宝。具体的《深入浅出MFC》中有详细介绍。

 

完成上面的几步后,在每次点击新建文件时,头回弹出对话框,咨询要创建的文档类型。在同一个App下可以打开多个文档类型,这就是早期出现的“超级软件”:即可以进行字处理,又可以进行图像编辑,有可以进行表格处理的强大软件的根源。

 

另外注意MDI程序自带的【windows】-》【new window】是application framework里面自带的消息映射,在你的项目工程里是找不到其MESSAGE_MAP的。此消息的处理函数的CMDIFrameWnd::OnWindowNew();所以要实现同一文档多种表现,且彼此独立窗口的话,可以采用多文档实现方法,只是把其中CView类换掉,其他做法一样,然后就是自己创建一个菜单项,在此菜单项对应的处理函数里面写上CMIDFrameWnd::OnWindowNew()的代码,当然代码不可能完全一样,有一行需要改动,就是对应DocTemplate指针,将其改写为你新家的文档类型。如果没有为该文档添加对应的字符串资源就不会出现对话框选择文档类型,那么就可以实现一种文档类型多种表现形式了。

相关文章
|
关系型数据库 MySQL C#
C# winform 一个窗体需要调用自定义用户控件的控件名称
给用户控件ucQRCode增加属性: //二维码图片 private PictureBox _pictureBoxFSHLQrCode; public PictureBox PictureBoxFSHLQrCode {   get { return _pictureBoxFSHLQrCode; }   set { this.pictureBoxFSHLQrCode = value; } } 在Form1窗体直接调用即可: ucQRCode uQRCode=new ucQRCode(); ucQRCode.PictureBoxFSHLQrCode.属性= 要复制或传给用户控件上的控件的值
71 0
|
6月前
LabVIEW创建自定义输入控件、显示控件和自定义类型2
LabVIEW创建自定义输入控件、显示控件和自定义类型2
435 2
|
6月前
LabVIEW创建自定义输入控件、显示控件和自定义类型1
LabVIEW创建自定义输入控件、显示控件和自定义类型1
120 1
|
6月前
MFC文档类视图接收字符串
MFC文档类视图接收字符串
39 0
|
6月前
|
图形学
【计算机图形学】—修改MFC窗口中的标题(默认无标题)
【计算机图形学】—修改MFC窗口中的标题(默认无标题)
19 MFC - 标签控件 CTabCtrl
19 MFC - 标签控件 CTabCtrl
68 0
|
C#
WPF整理-为控件添加自定义附加属性
原文:WPF整理-为控件添加自定义附加属性 附加属性,大家都不陌生,最常见的是Canvas.Left/Canvas.Top,类似的也有Grid.Row/Grid.Column等附加属性。举个最常见的例子 需要说明的是并不是所有的附加属性都是元素放进去后才会有附加效果,上面的例子只是刚好是这种错觉的巧合情况,Grid.Row也属于这种巧合。
2122 0
WPF整理-为控件添加自定义附加属性
|
C# 数据安全/隐私保护
WPF 使用附加属性增加控件属性
原文:WPF 使用附加属性增加控件属性 使用附加属性增加控件属性,使得这个附加属性在使用的时候没有局限性,可以在任何的控件中使用它来增加所需要的属性,使得控件的属性使用起来非常灵活   一、自定义附加属性 1 2 3 4 5 6 7 8 9 10 11 ...
892 0
|
C# 容器 .NET
WPF属性(二)附加属性
原文:WPF属性(二)附加属性 附加属性是说一个属性本来不属于某个对象,但由于某种需求而被后来附加上,也就是把对象放入一个特定环境后对象才具有的属性就称为附加属性,附加属性的作用就是将属性与数据类型解耦,让数据类型的...
843 0
|
XML C# 数据格式
[UWP]附加属性1:概述
原文:[UWP]附加属性1:概述 1. 什么是附加属性(attached property ) 附加属性依赖属性的一种特殊形式,常见的Grid.Row,Canvas.Left都是附加属性。 /// // 从指定元素获取 Left 依赖项属性的值。
1011 0