实现SDI与MDI的转换 (转)
如果想将一个编好的SDI应用程序转换为MDI,首先要建立一个继承于CMDIChidWnd的类,假设为CChldFrm,在CWinApp中作如下变化。
InitInstance()
{
. ...
//instead of adding CSingleDocTemplate
// Add CMultiDocTemplate.
pDocTemplate = new CMultiDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CSDIDoc),
RUNTIME_CLASS(CChldFrm),
// For Main MDI Frame change this frame window from
// CFrameWnd derivative ( i.e. CMainFrame )
// to your CMDIChildWnd derived CChldFrm.
RUNTIME_CLASS(CSDIView));
/// After this it is required to create the main frame window
// which will contain all the child windows. Now this window is
// what was initially frame window for SDI.
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
return FALSE;
m_pMainWnd = pMainFrame;
.....
}
在从CMDIFrameWnd中继承的类CMainFrame代替CFramWnd后,所有的类都将从CMDIFrame继承,而不是CFrameWnd,编译运行后你就会发现程序已经从SDI变换到MDI。
注意:在CMainFram中必须将构造函数从private改为public.否则会出错。
实现SDI与MDI的转换 (转)相关推荐
- MFC90条技巧-带目录
1."属性页的添加: 2."List Control中标题栏(Column)的添加: 3."ToolBar和StatusBar中控件的添加: 4."通过Cont ...
- 【转】MFC学习总结
HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { if ((pWnd->GetDlgCtrlID() == ...
- [转]VC常用小知识
[转]VC常用小知识 (1) 如何通过代码获得应用程序主窗口的 指针? 主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现. AfxGetMai ...
- MFC学习总结 (67个技巧)
1."属性页的添加: 创建对话框的类,该类要从CpropertyPage继承:然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新 ...
- vc++经典技巧总结
1."属性页的添加: 创建对话框的类,该类要从CpropertyPage继承:然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新 ...
- MFC 学习技巧的总结
1."属性页的添加: 创建对话框的类,该类要从CpropertyPage继承:然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新 ...
- MFC90条技巧 (带目录)
1."属性页的添加: 2."List Control中标题栏(Column)的添加: 3."ToolBar和StatusBar中控件的添加: 4."通过Cont ...
- CGM/SVG图形文件格式转换 免费
操作便捷的CGM转SVG图形文件编辑器(支持多种文件格式转换) 互联网上充斥这许多免费的在线图形文件格式转换工具,个体用户可以轻松地将自己所需转换的文件提交到网站并实现各式各样的转换目的. 可如果用户 ...
- MFC消息处理学习总结
Windows消息机制概述 http://www.cppblog.com/suiaiguo/archive/2009/07/18/90412.html 消息是指什么? 消息系统对于一个win ...
最新文章
- Neutron 物理部署方案 - 每天5分钟玩转 OpenStack(68)
- 位操作(Bit manipulation)
- 《软件项目管理(第二版)》第 1 章——概述 重点部分总结
- 速进!2000核实计算资源免费领取,名额有限,即开即送!
- 技术核心 | MySQL性能结构优化原理
- oracle 游标的替代,Oracle中replace函数和translate函数以及简单的游标
- python tuple
- SQL Server中的即时文件初始化概述
- 强悍的命令行 —— echo、env($PATH)、sudo
- MongoDB CRUD命令操作
- php微信商城 源代码下载,微信商城(B2C)独立后台版 php版 v1.0
- 脉冲触发器和边沿触发器的理解(移位寄存器采用边沿触发)
- OpenFace人脸分类器训练
- QT报错:The inferior stopped because it received a signal from the Operating System.
- c语言printf显示变量,零基础学C语言 笔记一 变量 printf
- scss动态生成类名、样式值
- 用 CaptureScreenshot捕捉游戏画面(截图,截屏)
- 我是僵尸生存java_我的世界1.6.2我是僵尸整合包
- matlab画简单长方形,matlab在图像中画长方形(框)
- 小学第三册上计算机wps教案,《初始WPS》教学设计——溧阳市横涧小学 夏春芳...