- 1、本文档共152页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章MFC程序设计剖析
第11章 MFC程序设计 MFC(Microsoft Foundation Class,微软基础类库)是微软公司提供的一个类库,大多数Windows API函数被封装在该库的不同类中,提供了对API函数更便捷的操作方法。 MFC还提供了一种称为应用程序框架的程序设计方法,利用该方法可以快捷地构建出标准Windows程序的基本框架,然后扩展该框架的功能,就能够快速地设计出功能强大的Windows程序,提高软件开发的效率。 11.1 MFC程序基础 11.1.1 MFC类 1、MFC类的本质 Microsoft利用面向对象的程序技术将大多数Windows API函数封装在类中,并通过继承形成了一种具有层次结构的类结构,称为MFC(Microsoft Foundation Class,微软基础类库)。 MFC中的类非常全面,覆盖了绝大多数标准Windows程序部件,如窗口、对话框、菜单、工具条、设备环境、画笔、调色板、控件等。 在MFC类库中定义的成员函数有好几百个,其中许多是对Windows API函数的简单封装,甚至与对应的API函数有着相同的函数名字。 2、MFC类的结构 11.1.1 MFC类 3、MFC中主要的类 ① 通用数据处理类 包括字符串类(CString)、集合类(CByteArray、CDwordArray、CPtrArray、CStringArray等)、映射类(CMapPtrToTpr、CMapStringToOb等)、链表类(CObList、CPtrList、CStringList等) ② Windows API封装类 将API函数按其功能分别封装到不同的类中,并为许多封装在类中的API函数提供了缺省参数,使程序员可以通过类成员的方式访问API函数,简化了API函数的访问。 如CWnd、CFrameWnd、CMIDIFrameWnd、CMainFrameWndCDialog、CFileDialogCDC、CPaintDC、CClientDC、CWindowDC等 11.1.1 MFC类 ③ 应用程序框架类 将Windows程序的基本结构封装在不同的类中,程序员可以通过这些类生成Windwos程序的雏形。应用程序框架类包括应用程序类(CWinApp)、线程类(CWindThread)、文档模板类(CDocTemplate、CSingleDocTemplate、CMultiDocTemplate)、文档类(CDocument)等 ④ 工具类 如工具条(CToolBar)、菜单(CMenu)、状态栏(CStatusBar)、拆分(CSplitterWnd)和滚动窗口(CScrollBar)等 ⑤ OLE类 提供了对OLE API的访问支持,允许用户创建和编辑复合文档,在这样的文档中可包含文本、图形、声音、流媒体等类型的数据 ⑥ 数据库类 提供对各种数据库的存取、建立、连接等操作,如数据源类(CDatabase)、记录集类(CRecordSet)、记录集视图类(CRecordView)、DAO接口类(CDaoDatabase)、DAO数据集类(CDaoRectordSet)、DAO数据表定义类(CDaoTebleDef)等。 ⑦ 网络类 允许用户通过ISAPI或Windows Sockets实现计算机网络互连,如CSocket类、ISAPI类、CHttpFilter类、CHttpServer类、CSocketFile类等。 11.1.2 MFC程序的结构 1、MFC程序中的类 MFC对API程序的结构进行了封装,程序的不同部分被封装在不同的类中。 MFC程序包括的类 ① 应用程序类 应用程序类从CWinApp类派生,用于建立主函数WinMain?,控制程序的执行流程 ② 框架窗口类 框架窗口类从CFrameWnd类派生,该类将窗口函数封装在其中 11.1.2 MFC程序的结构 ③ 消息映射宏和消息处理函数 消息映射宏用于将消息和消息处理函数与对应的窗口函数关联起来 ④ 一个应用程序对象 应用程序对象则是程序执行的入口点,每个MFC程序都必须有一个应用程序对象,程序执行就从该应用程序对象被建立时开始。 11.1.2 MFC程序的结构 【例11-1】 设计一个简单的MFC程序,该程序在鼠标左键单击位置画一个矩形,矩形的大小是随机的。 程序设计思路: 在程序中设计一个矩形数组,以鼠标单击位置为中心,以随机数为边长生成一个矩形,并将此矩形保存在数组中。然后产生一条WM_PAINT消息,并在相应的消息处理函数中重绘数组中的所有矩形。 【例11-1】程序设计方法 (1)启动VC++ 6.0,建立一个新的工程文件。选择“新建”对话框中的“工程”标签,并选中“MFC AppWizard(ex
文档评论(0)