版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 MFC程序设计基础 v重点:MFC的特点,MFC中的类和应用框 架程序 v难点:MFC的消息处理和运行模式 v掌握:简单MFC程序的编制 2.1MFC概述 v什么是MFC? 1)最初的Windows程序设计: 2)C+ 程序设计(面向对象) 2.1.1 MFC与应用程序框架 vMFC定义了 应用程序框架的好处 2.1.2 MFC的组成 MFC主要由一组类,一些宏以及若干个全局函数组成。作用 : 2.1.3 MFC中的类 MFC中的类分为两种(见书P20图2.1): v从CObject类派生的类(绝大部分) v没有父类的非派生类 CObject派生类包含Windows API的接口类: CWi
2、nApp、 CWnd、 Cmenu 、CGdiObject 、 CDC 2.2 MFC程序的特点 MFC编程与Windows API编程的异同之处: 相同点: 不同点: 2.2.1 MFC与消息处理 2.2.2 MFC运行模式 MFC使用两个类来封装WinMain和窗口函数的功能 其他对象 CWinApp对象 CWnd对象 系统 消息 消息 消息 创建 创建 创建 消息 2.3.简单的简单的MFC程序程序 1、包含afxwin.h头文件 此头文件包含了MFC包含的各种类,宏,全 局函数,还包还了Windows.h 2、派生应用程序类 CWinApp类封装了应用程序的初始化、运行 和终止等功能,
3、所以基于框架的应用程序必 须有且只有一个CWinApp类及其派生类的对 象。 3、派生窗口类 CWnd:OnPain成员函数负责处理发给窗口的WM_PAINT消 息,可以实现窗口绘制,因此需要对CWnd派生子类,并重 载(重写)OnPaint成员函数。 在MFC中,CWnd的一些派生类对CWnd实现了更高的封装, 不仅添加了功能,而且使用更方便,如CFrameWnd。本例 的窗口类为了使用更方便就是从CFrameWnd进行派生的。 另外,MFC程序中需要使用 DECLARE_MESSAGE_MAP()宏为类添加消息处理能力。 4、建立窗口 v在窗口类的构造函数中使用从父类继承来的 Create
4、成员函数来建立窗口。该函数的参数 说明见书P24。 v在重载的InitInstance成员函数中添加建立程 序窗口的代码,程序在初始化时完成窗口的 建立(new 一个窗口类,创建窗口类对象的 同时,构造函数创建窗口)和显示(调用 ShowWindow和UpdateWindow)。代码见 书P24。 5、加入消息映射 v以BEGIN_MASSAGE_MAP()开始、以 END_MASSAGE_MAP()结束的一组宏与类的定义中,所使 用的DECLARE_MESSAGE_MAP()宏一起,可以建立窗口 消息与消息处理成员函数间的对应关系,这些宏被统称为消 息映射宏。 vBEGIN_MASSAGE_
5、MAP()宏有两个参数,分别是处理消息 的类及其父类。 vBEGIN_MASSAGE_MAP()和END_MASSAGE_MAP()之间, 使用一些预定义的宏来关联消息和消息成员处理函数,如 ON_WM_PAINT()宏用来建立WM_PAINT消息到一个窗口类 OnPaint成员函数间的映射关系,当该窗口类管理的窗口接 收到WM_PAINT消息时,框架会自动调用该窗口类的 OnPaint成员函数。 v消息种类很多,所以来接消息和消息处理成 员函数的宏也很多,用户可以通过MSDN进 行查询。 v消息映射宏及OnPaint代码见书P25。 6、建立MFC应用程序对象 C02App theApp;
6、1、启动VC 2、菜单”FILE”NEW”,后选择“Win32 Application”,并在 右侧“Project name:”后输入框中输入工程名后,点击 “OK”按钮,然后选择“An empty project”后,选择 “Finish”按钮后,选择“OK”按钮。 3、菜单”FILE”NEW”,选择“files”后选择列表框中的“C+ Source File”后,在右侧“File”后输入框中输入文件名后 选择“OK”按钮。 4、输入程序源代码。-以上同第一章,也可以直接将第一章 的源码替换为第二章源码。 5、修改项目属性:菜单”Project”Settings”,在“General” 选项卡中的“Mi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《不良生活习惯》课件
- 2024年版特定股权转让与业绩保障协议版B版
- 房本除名登记协议书
- 2024年新型数字媒体内容制作与传播采购合同3篇
- 2025年绥化货车资格证考试题
- 《狼性臧其超作品》课件
- 2025年莱芜驾校考试货运从业资格证模拟考试
- 2025年聊城道路运输从业人员从业资格考试
- 2025年防城港货运从业资格证考试题库答案
- 《初中作文结构篇图》课件
- 宇通客车新媒体运营与传播方案
- 国家开放大学《行政组织学》形考1-5标准答案
- 租赁房屋交接清单49226
- 公司4M变更申请通知书
- 设备安装成品保护及防异物图示课件
- 《愚公移山》比较阅读16篇(历年中考语文文言文阅读试题汇编)(含答案与翻译)(截至2021年)
- 进度款申报表
- 纺织品抽样方案
- 栏杆、栏板、扶手施工组织方案
- 竣工决算审计服务方案范文
- 交通信号控制系统检验批质量验收记录表
评论
0/150
提交评论