第5讲 MFC 编程基础1_第1页
第5讲 MFC 编程基础1_第2页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5讲 mfc 编程基础1 c+ mfc 第7章 mfc编程基础 1、mfc概述 2、mfc层次结构及其子类功能3、mfc应用程序架构 4、基于框架的mfc应用程序分析 c+ mfc 7.1 mfc概述mfc:microsoft foundation class首先:它是一个类库、功能是掌握整个计算 机系统。 其次:它是一个面对对象的应用程序框架, 程序员可以使用这一框架创建 windows应用程序。 同时:mfc的组织是以c+类层次形式组织 起来的,几个高层类供应一般功能, 而低层类实现更详细的功能,每一个低 层类都是从高层类派生而来,因此继承 了高层类的功能。 c+ mfc 所以:mfc是

2、一种类的层次结构, 它供应了一个应用程序开发框架, 此框架称为文档/视图架构。 它对应的是windows系统名目下 的一系列mfc*.dll文件。 c+ mfc mfc的实质 mfc就是利用面对对象的思想,将数 据类型与windows大部分api函数封 装起来的一个浩瀚的类库,利用mfc 编写程序本质上就是选择该类库中 合适的类,并调用其下相应成员函 数来完成某个功能。 c+ mfc win32数据类型uint byte handle hwnd worddword long wparam lparam lresult lpstr lpcstr hdchmenu hicon msg wndcla

3、ss rect point size c+ mfc win32api接口函数1、windows消息函数 2、文件处理函数 3、网络函数 4、菜单函数 5、文本与字体函数 6、硬件与系统函数 7、控件和消息函数 8、位图、图标和光栅运算函数 9、绘图函数 10、打印函数 11、设备场景函数 12、进程和线程函数 c+ mfc 程序员如何去学习mfc 1、c+语言基础 2、windows操作系统基础 3、面对对象程序观念的基础 抽象、封装、继承、多态 c+ mfc 站在os角度上看程序1、执行程序的过程是os完成任务的过程 2、程序执行一次是创建了一个进程,申请了 一个独立的内存空间。 3、程序和

4、os是通过大事驱动、消息机制通信 的 4、一个程序必有一个winmain函数 5、一个程序必有一个窗口,进行输入输出 6、一个程序的启动过程,就是一个winmain函 数的加载过程 7、一个程序至少由两部分组成: winmain、wndproc c+ mfc 面对对象观点看待windows编程1、具有应用程序对象,功能包括: 注册窗口(填充窗口结构,注册窗口), 初始化程序实例(创建、显示、刷新)。 2、具有窗口对象,功能相当于wndpro 函数 3、保留winmain函数,实现消息循环。 4、最好实现数据与显示分别。 c+ mfc 用面对对象观点重组api1、api是win32编程的重要基础

5、2、关于应用程序对象 3、关于框架窗口对象 4、关于视图对象 5、关于文档对象 (数据与显示分别) 6、关于其它对象的api *重点是类和对象的概念关系* c+ mfc 7.2 mfc层次结构 c+ mfc mfc中类的层次结构mfc是一个包含了超过200个不同类的很 浩大的类库。利用他们,开发者可以 完成很多标准的windows编程任务, 并且可以在应用程序中加入许 多简单 的特性。在设计思想上,mfc将面对 对象的方法与大事驱动结合得很好, 因此要理解浩大的mfc类库中的常用 类的功能,要利用面对对象的思想进 行理解和分析。 c+ mfc mfc的优点 1、mfc对于类、类的继承、封装、

6、多态性、类间关系和相互作用等 应用程序特性都有详细体现,可 以使开发者高效、轻松地建立 windows应用程序,而不受设备 限制并且由大事进行驱动。 c+ mfc 2、mfc具有良好的通用性和可 移植性,它定义了应用程序的 轮廓,并供应了用户接口的标 准实现方法,程序员所要做的 工作就是通过vc所供应的各种 工具来完成这个工作。 c+ mfc 1、根类cobjectcobject类是mfc的抽象基类(不能派 生对象),是mfc中多数类和用户自 定义类的根类,它为程序员供应了 很多公共操作和基本服务。 主要包括:对象的动态建立与删除、 序列化(即串行化)的支持、对象 诊断输出、运行时信息管理以及

7、集 合类的兼容等。 作用是,使得mfc以及基于mfc的应用 程序更加稳固和易于调试。 c+ mfc 根类cobject的组成 c+ mfc 2、消息映射类ccmdtarget该类是cobject的子类,是mfc类库中所 有具有消息映射属性的基类,消息映射规 定了当对象接到命令消息时,应调用哪一 个函数对该消息进行处理。 由ccmdtarget派生出的主框架类包括 cview、cwinapp、cdocument、cwnd和 cframewnd都可处理命令消息。 程序员若需要一个新类来处理消息时, 可以从ccmdtarget派生出一个新类。一般 程序员很少从ccmdtarget类中直接派生出 新类

8、,而是从其子类cview、cwinapp来派 生 c+ mfc 消息映射类ccmdtarget组成 c+ mfc 3、窗口应用程序类cwinapp每一个使用mfc的应用程序只能包 含一个从cwinapp派生的应用程序 对象,当vc的其它全局对象被构造 时,这个对象也同时被构造,当 windows调用winmain()函数时,产 生的对象已经有效了。从cwinapp 实例化的应用程序对象是一个全局 变量,在程序运行中该对象可以与 其它对象相互协调。 c+ mfc 4、应用程序类cwinapp组成(1)访问cwinapp对象以及全局函数。 afxgetapp:获得一指向cwinapp对象 的指针 afxgetresourcehabdle: 获得一应用程 序资源的句柄。 afxgetappname:获得指向一个包含应 用程序名的字符串的指针。 (2)cwinapp的公共数据成员 m_pszappname:指定应用程序的名称。 m_ncmdshow:指定窗口的显示方式。 m_pmainwnd:包含一个指针,它指向 一个应用程序的主窗口。 c+ mfc (3)cwinapp的公共成员函数 loadcursor:调取光标资源。 loadstandardcursor:调取windows 预定义光标,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论