- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MFC编程-文档视图.doc
MFC编程-文档视图
MiniDraw只有一个About对话框,这回要把它变成一个MDI程序,借助于文档视图的威力,并不需要花很大的力气。
MDI由4个类组成:
主框架类,由CMDIFrameWnd派生而来,表示程序的MDI父窗口。
子框架类,由CMDIChildWnd派生而来,表示程序的MDI子窗口。
视图类,由CView派生而来,表示一个文档视图,内嵌于子窗口。
文档类,由CDocument派生而来,表示一份“文档”,一份“文档”可以由多个视图表现。
现在创建这些类,全部通过新建头文件和源文件生成,下面它们的代码:
MainFrm.h
#ifndef LINZHENQUN_MAINFMR_H_
#define LINZHENQUN_MAINFMR_H_
class CMainFrm: public CMDIFrameWnd
{
DECLARE_DYNAMIC(CMainFrm)
public:
CMainFrm();
};
#endif //LINZHENQUN_MAINFMR_H_
MainFrm.cpp
#includeafxwin.h
#include MainFrm.h
IMPLEMENT_DYNAMIC(CMainFrm, CMDIFrameWnd)
CMainFrm::CMainFrm()
{
}
DrawChildFrm.h
#ifndef LINZHENQUN_DRAWCHILDFRM_H_
#define LINZHENQUN_DRAWCHILDFRM_H_
class CDrawChildFrm: public CMDIChildWnd
{
DECLARE_DYNCREATE(CDrawChildFrm)
public:
CDrawChildFrm();
};
#endif //LINZHENQUN_DRAWCHILDFRM_H_
DrawChildFrm.cpp
#include afxwin.h
#include DrawChildFrm.h
IMPLEMENT_DYNCREATE(CDrawChildFrm, CMDIChildWnd)
CDrawChildFrm::CDrawChildFrm()
{
}
DrawView.h
#ifndef LINZHENQUN_DRAWVIEW_H_
#define LINZHENQUN_DRAWVIEW_H_
class CDrawView: public CView
{
DECLARE_DYNCREATE(CDrawView)
public:
CDrawView();
protected:
virtual void OnDraw(CDC* pDC);
};
#endif //LINZHENQUN_DRAWVIEW_H_
DrawView.cpp
#include afxwin.h
#include DrawView.h
IMPLEMENT_DYNCREATE(CDrawView, CView)
CDrawView::CDrawView()
{
}
void CDrawView::OnDraw( CDC* pDC )
{
}
DrawDoc.h
#ifndef LINZHENQUN_DRAWDOC_H_
#define LINZHENQUN_DRAWDOC_H_
class CDrawDoc: public CDocument
{
DECLARE_DYNCREATE(CDrawDoc)
public:
CDrawDoc();
};
#endif //LINZHENQUN_DRAWDOC_H_
DrawDoc.cpp
#include afxwin.h
#include DrawDoc.h
IMPLEMENT_DYNCREATE(CDrawDoc, CDocument)
CDrawDoc::CDrawDoc()
{
}
4个类全部只是空架,具体的事情已经由基类处理了,其中只有CDrawView覆盖OnDraw,因为它是一个抽象成员函数,所以不得不覆盖一下。
除了MainFrm类,其他三个类都声明了DYNCREATE宏,因而具备动态创建的能力。
接下来要在CDrawApp::InitInstance创建这些类实例,不过之前还得创建一些资源,比如菜单,??源字符串。
先为主窗口创建一个菜单,这是AFX强制要求的,否则有很多断言等着你,在Resource.rc里插入一个菜单,ID为:IDR_MAINFRAME,然后加几个菜单项,效果如下:
接着为程序和主窗口创建一个图标,这回用导入的方式,毕竟有那么多现成的图标,何必自己来动手呢,导入:
我们将导入的图标ID也命名为IDR_MAINFRAME,等会儿会说明原因。可执行文件的图标由ID值为1的图标决定,我们第一次导入
您可能关注的文档
- DynamicsCRM4.0安装的系统要求及必备元件.docx
- E-IVR会员登录-小灵呼.doc
- EASA维修制度简介-交通部民用航空局.ppt
- EastFax传真服务器-连昊科技有限公司.ppt
- EconLit西文经济学文献资料库使用说明-逢甲大学图书馆.doc
- EF_CBMA_水泥工业能源消耗的检测.ppt.ppt
- EF_Xiong_地区-企业节能评估方法.ppt.ppt
- ELANSMART-PAD触控板详细图解说明首先进入控制面板,双击鼠标.doc
- Email电子邮件应用分析-科来.doc
- EMIS数据库产品及EMIS中国库内容-信息.ppt
- 2025年剧本杀行业儿童教育版块市场报告.docx
- 2025年光刻机双工件台系统在集成电路制造中的性能优化研究报告.docx
- 2025年生物降解材料在一次性用品制造中的环保作用报告.docx
- 2025年政务AI系统隐私保护技术在智慧政务平台建设中的应用研究.docx
- 生物电子设备远程医疗监管政策对产业链的影响研究报告.docx
- 欧盟数据法案2025年实施对中企数据跨境合作的合规性影响研究.docx
- 2025年浙江省绍兴市行政职业能力测验模拟试题完美版.docx
- 新能源绿色生产技术应用与产业竞争力分析报告2025.docx
- 2025年网络零售行业电商物流信息化建设分析报告及未来五年发展趋势研究.docx
- 2025年智能网联汽车数据跨境流动合规性:法规解读与合规建议.docx
最近下载
- 2024年最新财务法规解读.pptx
- 人教版五年级数学上册全册全套课件【最新版】.ppt VIP
- 七年级开学初家长会.pptx VIP
- 腰椎管狭窄症手术治疗规范中国专家共识(2014年)腰椎管狭窄症手术治疗规范中国专家共识组(发布时间:2014-09).pdf VIP
- 2025-2026学年统编版(2024)道德与法治三年级上册全册教学设计.pdf
- TBGEA001-2019预拌流态固化土填筑工程技术标准.pdf VIP
- 智能制造 第7章 智能制造服务.ppt VIP
- 乳腺腔镜手术介绍.pptx VIP
- 医院艾滋病知识培训课件.pptx VIP
- 应对老年人患者烫伤情景考核评分表.doc VIP
文档评论(0)