《Visual C++程序设计及实践》课件第6章MFC基础.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《Visual C++程序设计及实践》课件第6章MFC基础.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual C+程序设计及实践 Visual C+程序设计及实践课件第6章 MFC基础 Visual C+ 程序设计 实践 课件 MFC 基础
- 资源描述:
-
1、第 6 章 MFC基础-2-本章目标 了解MFC的类体系 了解MFC应用程序类型 熟悉MFC应用程序开发方法 熟悉MFC的全局函数 熟悉MFC的框架结构 熟悉MFC的消息映射和消息分类 掌握MFC应用程序向导的使用 熟悉MFC子控件的使用 掌握MFC的CString类、文件类的使用 熟悉动态数组类、链表类的使用 掌握MFC的常用绘图操作 熟悉MFC中与绘图有关的数据类型的使用MFC概述MFC简介 MFC(Microsoft Foundation Class Library)是微软基础类库的简称 MFC类库以层次结构组织起来,其中封装了大部分Windows API函数和Windows控件 MFC
2、目的就是让程序员在MFC基础上来建立Windows下的应用程序-3-MFC概述一个简单的MFC程序#include /包含MFC头文件/从MFC的主框架窗体派生用户窗体类class CMyWnd:public CFrameWndpublic:CMyWnd(LPCTSTR szTitle)/调用父类的Create函数创建窗体Create(NULL,szTitle);/从MFC的应用程序派生用户程序类class CMyApp:public CWinApppublic:virtual BOOL InitInstance();/覆盖(改写)继承的应用程序初始化虚函数BOOL CMyApp:InitIn
3、stance()/创建窗体并保存到m_pMainWnd中m_pMainWnd=new CMyWnd(_T(一个简单的MFC程序);m_pMainWnd-ShowWindow(m_nCmdShow);return TRUE;/定义用户程序全局对象CMyApp myApp;-4-MFC概述MFC应用程序分析 无WinMain()函数 应用程序对象:必须利用应用程序类实例化一个全局对象 InitInstance()函数:派生类中重写,用于初始化应用程序 MFC窗体:利用MFC已有的窗体类派生或实例化-5-MFC概述MFC应用程序开发方法-6-MFC应用程序框架全局函数函数原型函数原型说明说明AfxM
4、essageBox()显示一个Windows消息框AfxGetApp()返回当前应用程序对象的指针AfxGetMainWnd()获得程序主窗口的指针AfxBeginThread()创建一个新线程并执行它AfxEndThread()终止当前正在执行的线程AfxFormatString()格式化字符串AfxGetInstanceHandle()返回标示当前应用程序对象的句柄AfxRegisterWndClass()注册用于创建Windows窗口的窗口类-7-MFC应用程序框架类体系-8-MFC应用程序框架消息映射 进行MFC消息处理,需要为每一个要处理的消息提供一个消息处理函数 MFC框架会自动按
5、照一套消息映射机制来调用相应的消息处理函数。MFC消息映射采用C语言宏的方式,把消息和消息处理函数一一对应起来。在MFC的框架结构下,可以进行消息处理的类的头文件(或类定义文件)里面都会含有DECLARE_MESSAGE_MAP()宏-9-MFC应用程序框架消息映射 源程序中的消息映射区:BEGIN_MESSAGE_MAP(CInheritClass,CBaseClass)ON_MESSAGE(message1,meberFxn1)ON_MESSAGE(message2,meberFxn2).END_MESSAGE_MAP-10-MFC应用程序框架消息映射 普通窗口消息窗口消息窗口消息消息映射
6、宏消息映射宏默认处理函数默认处理函数WM_CHARON_WM_CHARafx_msg void OnChar(UINT,UINT,UINT);WM_CLOSEON_M_CLOSEafx_msg void OnClose();WM_CREATEON_WM_CREATEafx_msg int OnCreate(LPCREATESTRUCT);WM_LBUTTONDOWNON_WM_LBUTTONDOWNafx_msg void OnLButtonDown(UINT,CPoint);WM_MOUSEMOVEON_WM_MOUSEMOVEafx_msg void OnMouseMove(UINT,CP
7、oint);-11-MFC应用程序框架消息映射 命令消息/命令消息使用ON_COMMAND宏对其进行映射响应,格式如下:ON_COMMAND(命令ID,响应函数)/响应函数的原型如下:afx_msg void memberFxn();/举例如下:ON_COMMAND(IDM_FILENEW,OnFileNew)/“新建”菜单命令ON_COMMAND(IDM_FILEOPEN,OnFileOpen)/“打开”菜单命令-12-MFC应用程序框架消息映射 控件通知消息/控件消息映射宏的名称一般由三部分组成:ON_控件前缀_消息名(控件ID,响应函数)/举例如下:ON_BN_CLICKED(控件ID,
8、响应函数)ON_CBN_DBCLK(组合框,响应函数)ON_EN_SETFOCUS(组合框,响应函数)ON_LBN_DBCLK(列表框ID,响应函数)-13-MFC应用程序框架应用程序类型 应用程序类型 p 文档/视图程序p 基于对话框的程序-14-MFC主要类根类 根类CObject是MFC的抽象基类,其他MFC类一般都是从CObject直接或间接派生的。CObject类的构造函数不是公有的,因此不能直接使用该类实例化对象。CObject类为程序员提供了许多编程所需的公共操作,包括:对象的建立和删除、串行化支持、对象诊断输出以及运行时信息等。-15-MFC主要类应用程序体系结构类-16-MF
9、C主要类可视对象类 窗口类:CWndMFC的消息映射机制隐藏了CWnd类的窗口函数WndProc()。可以用该类创建普通的窗口 对话框类:CDialog CDialog是对Windows对话框的封装。可以直接使用CDialog类实例化对象然后调用相关成员成员函数以创建对话框 菜单类:CMenuCMenu类是CObject类的子类,它提供了一个面向对象的菜单界面 子控件类子控件类是从CWnd派生的,是MFC对Windows控件的封装,用这些类可以在窗体上建立子控件-17-MFC通用类CString类 CString对象的创建 CString str1;/只创建对象,不赋值CString str2
展开阅读全文