- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 MFC应用程序概述new
第 2 章 MFC应用程序概述 本章内容 2.2 MFC应用程序框架 2.3 消息映射与消息处理 2.4 程序调试 2.5 应用实例 Microsoft Fondation Class MFC(微软基础类库)采用面向对象的设计,将大部分的Windows API封装到C++类中,以类成员的形式提供给程序开发人员调用。 MFC不仅为用户提供了 Windows图形环境下应用程序的框架,而且还提供了创建应用程序的组件。 传统SDK编写 MFC 程序 MFC程序 类结构图 8.菜单类:CMenu类 该类是CObject类的子类,用于管理菜单。它是一个Windows HMenu的封装,提供了与窗口有关的菜单资源建立、修改、跟踪及删除的成员函数。 9.对话框类:CDialog类 由于对话框是一个特殊的窗口,所以该类是从CWnd类中派生出来的。对话框子层次结构包括通用对话框类CDialog以及支持文件选择、颜色选择、字体选择、打印、替换文本的公共对话框子类。 10.设备环境类:CDC类 该类及其子类支持设备描述表对象,是CObject类的子类。CDC类是一个较大的类,包括许多成员函数,如映射函数、绘画工具函数、区域函数等,通过CDC对象的成员函数可以完成所有的绘画工作. MFC 中全局函数和全局变量 以Afx为前缀的函数(数据库类函数和DDX函数除外)和变量,在目前的版本中,都表示全局函数或全局变量。 例子 void CTempView::OnLButtonDown(UINT nFlags, CPoint point) { MessageBox(这是个单文档应用程序!, 消息框,MB_ICONEXCLAMATION|MB_OKCANCEL); CView::OnLButtonDown(nFlags, point); } // Generated message map functions protected: //{{AFX_MSG(CTempView) afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnRButtonDown(UINT nFlags, CPoint point); afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); //}}AFX_MSG DECLARE_MESSAGE_MAP() MFC消息映射机制 每个能接收和处理消息的类中,定义一个消息和消息函数静态对照表(消息映射表)。 在消息映射表中,消息与对应的消息处理函数指针是成对出现的。 (1)利用#define语句直接定义自己的消息,如下所示: ?#define WM_MESSAGE WM_USER+3 // 自定义消息WM_MESSAGE (2)调用窗口消息注册函数RegisterWindowMessage()来定义一个Windows消息,由系统分配消息一个整数值。 ? UINT RegisterWindowMessage(LPCTSTR lpString); ? 其中参数lpString是要定义的消息名,调用成功后将返回该消息的ID值。 应用实例 编写一个单文档应用程序Sy2,程序运行后,首先在视图窗口中输入文本,然后通过键盘上的光标键控制该文本向左、向右、向上和向下4个方向移动。 DC(Device Context)设备环境 OnDraw()函数 GetDocumnet()函数 TextOut() 系统函数 设备环境 MFC AppWizard应用程序向导创建的OnDraw()函数自动支持所获取的设备环境,接受一个参数为指向CDC对象的指针。 OnDraw()函数和GetDocumnet()函数都是视图类的成员函数。 OnDraw()函数:是一个虚函数,负责文档对象的数据在用户视图区的显示输出。 GetDocumnet()函数:用于获取当前文档对象的指针m_pDocument 。 在向导生成的成员函数OnDraw()中调用了函数GetDocument()通过获取的文档类指针可以在视图中显示文档内容。 TextOut函数 原型:TextOut(int ? x, int ? y, const ? CString ? str ? ); 功能:在屏幕上指定位置输出字符串 void
您可能关注的文档
- 算法初步比较经典的教案.doc
- 2014年计算机二级考试Access最后通关卷2.doc
- 典型例题及详细求解过程:已知数列{an}的首项为1,前n项的和为 Sn.doc
- 2(9objects_and_classes1)C语言.ppt
- 人员密集场所{商场}每日防火巡查.doc
- 第五章 面向对象高级特性.ppt
- 02--文件控制和维护管理程序.doc
- 快播科技设计模式培训第1期(C++).pptx
- 去括号综合练习题.doc
- 括号匹配问题的堆栈操作.doc
- 白天晚上教学课件.ppt
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题带答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解一套.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及完整答案详解1套.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解1套.docx
- 2025年山东菏泽市事业单位招聘急需紧缺岗位目录(第一批)笔试模拟试题参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及答案详解1套.docx
- 画西瓜教学课件.ppt
最近下载
- 高中物理万有引力与航天模拟专题.doc VIP
- 《教父(1972)》完整中英文对照剧本.pdf VIP
- ABB喷涂机器人生产节拍提升的改进实施工艺方案.pdf VIP
- 航天电器产品手册y50系列电连接器.pdf VIP
- 2025年广水市城市社区专职工作者招聘85人考试备考试题及答案解析.docx VIP
- 二年级语文暑假习题二.doc VIP
- 房建工程监理实施细则样本合集(207页).docx VIP
- 2018-2024年海峡杯数学竞赛真题及答案(二年级).pdf VIP
- 数据处理与信息共享合作协议.doc VIP
- 2023-2024学年辽宁省实验中学、大连八中、大连二十四中、鞍山一中、东北育才学校高一下化学期末检测试题含解析.doc VIP
文档评论(0)