VC第3章,MFC框架之文档与视图.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC第3章,MFC框架之文档与视图

第三章 MFC框架之文档与视图;本章内容;一、MFC应用程序的开发流程 创建一个应用程序框架 为新工程添加必要的资源,如菜单、对话框 按程序功能要求,为其添加新类及其类成员 编写类的成员函数的实现代码 编译、链接,修改错误,生成EXE文件 运行并测试新程序,修正设计缺陷 将程序由调试版升级为正式发行版;MFC应用程序开发流程图;二、AppWizard生成的文件类型 ;MFC中资源标识符前缀 ;三、ClassWizard的功能与应用初步 1、应用程序类的继承关系示意图;3、 classWizard的功能 创建新类 把消息映射为类的成员函数 新建或删除消息处理函数 察看已被处理的消息并跳到消息处理代码处 定义成员变量 创建新类时,自动加入方法和属性 处理现有的类和类库 ;4、 classWizard的应用 实例:编写一个SDI程序框架,并实现在视图区以信息对话框的形式显示用户点击鼠标左、右键和次数。 为视图类添加m_nLeft、m_nRight两个私有型变量,并在构造函数中对其初始化; 利用类向导在视图类中为鼠标左右单击操作添加“消息处理函数”OnLButtonDown()和OnRButtonDown(); 为OnLButtonDown()函数添加功能代码,右键函数与此类似 m_nLeft++; CString strOutput; strOutput.Format(“鼠标左键单击的次数为:%d”, m_nLeft); MessageBox (strOutput); 编译、链接并运行程序,测试程序效果。;2、MFC的文档/视图结构 采用分离机制将数据的管理和显示分作两部分,数据管理和维护由文档负责,数据的显示和编辑由视图负责。;3、文档/视图的相互作用函数 (1)视图类的GetDocument()函数 (2)文档类的UpdateAllViews()函数 (3)视图类的OnUpdate()函数;4、多文档 MFC多文档应用程序与单文档程序的根本差别 MDI窗口类的派生关系如下: CMDIFrameWnd::CMainFrame——主框架窗口类; CMDIChildWnd::CChildFrame——子框架窗口类; 文档模板——描述了对应于每一种类型文档的视图和窗口的类型,由其来确立文档、视图、框架和各种资源之间的固定关系。;SDI和MDI文档模板的样式: 文档模板是在APP类的初始化函数InitInstance()中声明。 CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( //单文档模板 IDR_MAINFRAME, //主框架资源的ID RUNTIME_CLASS(CMySDIDoc), //SDI文档类 RUNTIME_CLASS(CMainFrame), // SDI主框架窗口类 RUNTIME_CLASS(CMySDIView)); //SDI视图类 AddDocTemplate(pDocTemplate); ////////////////////////////////////////////////////// CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate( IDR_MYMDITYPE, //子框架窗口资源ID RUNTIME_CLASS(CMyMDIDoc), RUNTIME_CLASS(CChildFrame), // MDI子框架窗口类 RUNTIME_CLASS(CMyMDIView)); AddDocTemplate(pDocTemplate);;五、菜单设计及应用 1、建立菜单资源 实例:创建一个名为DrawCoin的SDI项目,添加“画硬币”主菜单,并增加两个菜单项“增加硬币”、 “减少硬币”。 编程: (1)添加顶层菜单“画硬币(C)” (2)增加两个菜单项(Menu Item) ID_COIN_ADD 增加硬币(A)\tCtrl+A 在客户区增加一枚硬币\n增币 ID_COIN_SUB 减少硬币(S)\tCtrl+S 在客户区减少一枚硬币\n减币;2、添加菜单命令的处理函数 菜单实则一系列命令的列表,当某一菜单项被点击后,一个含有该菜单项ID标识的WM_COMMAND命令消息将发送给APP窗口,APP将该消息转换为一个“命令消息处理函数”的函数调用,从而响应命令。 利用“类向导”(Ctrl+W)工具为菜单添加消息映射函数,并添加用户代码:;本例中,为了实现菜单的操作功能,还必须完成如下三步: (1)为文档类添

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档