MFC程序设计基础ppt课件

上传人:资****亨 文档编号:131211296 上传时间:2020-05-05 格式:PPT 页数:41 大小:790KB
返回 下载 相关 举报
MFC程序设计基础ppt课件_第1页
第1页 / 共41页
MFC程序设计基础ppt课件_第2页
第2页 / 共41页
MFC程序设计基础ppt课件_第3页
第3页 / 共41页
MFC程序设计基础ppt课件_第4页
第4页 / 共41页
MFC程序设计基础ppt课件_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《MFC程序设计基础ppt课件》由会员分享,可在线阅读,更多相关《MFC程序设计基础ppt课件(41页珍藏版)》请在金锄头文库上搜索。

1、第10章MFC程序设计基础 华东理工大学计算机系 谢晓玲 MFC类库简介 MFC是Microsoft公司提供的基于WindowsAPI的C 类库集 并定义一个应用程序框架 MFC实现了标准的用户接口 提供了管理窗口 菜单 对话框的代码 可实现基本的输入输出和数据存储 MFC提供大量可重用代码 隐藏基于窗口的应用程序设计的复杂细节 减轻编程工作量 AppWizard应用程序向导可以产生应用程序框架 其步骤 利用AppWizard生成一个新项目 修改源文件 在资源编辑器中编辑资源文件 cpp源文件经编译生成 obj文件 资源文件经编译生成 res文件 链接器将结合 obj文件 res文件和 dll

2、库文件生成 exe可执行文件 利用C NET开发Windows程序 C NET程序设计框架C NET提供了应用程序向导 AppWizard 可以创建3种类型的MFC应用程序框架 对话框应用程序单文档应用程序多文档应用程序应用程序框架是一种类库的超集 它用来定义程序的结构 将其他的类库 例如文档类 视图类及用户自定义类等 嵌入到应用程序框架中 以完成用户预期的功能 大多数MFC类来自三大基类 CObject 具有在运行时获得对象大小和名字的能力 CWnd 所有窗口的基类 具有创建 维护窗口的能力 CCmdTarget 具有处理命令消息的能力 利用C NET开发Windows程序 窗口 对话框和控

3、件类来自CWnd的派生类分以下类型 框架窗口类CFrameWnd对话框类CDialog视图类CView控件类CAnimateCrtl控件条类CControlBar属性表类CPropertySheet 利用C NET开发Windows程序 窗口 对话框和控件类 利用C NET开发Windows程序 应用程序 框架 文档和视图类以单文档多视图风格的应用程序为例 C NET自动生成的类如下 应用程序类CWinApp 负责程序的启动 初始化和运行等 在MFC应用程序中会定义唯一的该类的全局对象theApp 是应用程序运行实例 2 主框架类CFrameWnd 负责创建和显示具体的窗口结构 并负责消息的分

4、发 3 文档类CDocument 用于管理 保存数据 相当于数据容器 4 视口类CView 绘图或显示数据 是文档与用户交互的一个窗口 利用C NET开发Windows程序 MFC应用程序执行过程应用程序类全局对象theApp与WindowsAPI程序的入口函数WinMain 有类似功能 应用程序首先定义全局变量theApp 再进行应用程序初始化InitInstance 并通过由系统自动生成的主窗口句柄m pMainWnd来显示窗口 CMyDemoApptheApp 唯一的一个应用类对象BOOLCMyDemoApp InitInstance 应用程序初始化 CWinApp InitInstan

5、ce 唯一的一个窗口已初始化 因此显示它并对其进行更新m pMainWnd ShowWindow SW SHOW m pMainWnd UpdateWindow returnTRUE 利用C NET开发Windows程序 文档 视图结构文档类和视图类共同形成了 文档 视图 结构 有利于将数据从用户对数据的观察中分离了出来 从而允许同一数据可以有多种视图 而这也是符合客观世界中人们观察事物过程的客观要求的 文档 视图结构的工作机制调用视图类成员函数GetDocument 获得指向相关联的文档对象的指针 通过该指针调用文档类的成员变量获得数据 由屏幕显示给用户 用户通过视图交互读写数据 再通过相关

6、联的文档类的成员传递数据 最后通过文档类的串行化保存到介质中 利用C NET开发Windows程序 文档类CDocumentCDocument是所有的文档类的基类 它提供的方法分一般方法 表1 1 和虚拟方法 表1 2 可以通过Afxwin h头文件了解该类的基本功能 利用C NET开发Windows程序 视图类CViewCView视图类是从CWnd类派生的 具有创建 移动 显示 隐藏窗口的能力 并且接受任何Windows消息 CView视图类提供的方法分一般方法 表1 3 和虚拟方法 表1 4 可以通过Afxwin h头文件了解该类的基本功能 利用C NET开发Windows程序 当屏幕发生

7、变化或焦点的变化需要视图重绘以实现正确显示时 OnDraw 被自动调用 当文档数据发生变化时 OnDraw 函数不会被自动调用 需调用与视图关联的文档类的成员函数OnUpdateAllViews 该函数使视图做出响应调用OnDraw 函数 利用C NET开发Windows程序 视图类的派生类在很多情况下 应用程序中使用CView的派生类而非CView 在创建应用程序时 应根据需求选择合适的视图派生类 CScrollView类 可以实现视图的滚动显示 可以利用其成员函数SetScrollSize 设置滚动尺寸和坐标映射模式 但在绘图和接受用户输入时需要对坐标进行变换 CTreeView类 支持树

8、型控件功能的实现 以TreeCtrl界面为视图界面 通过成员函数GetTreeCtrl 可以获得CTreeCtrl的引用 CListView类 类似CTreeView类 以ListCtrl界面为视图界面 通过成员函数GetListCtrl 可以获得CListCtrl的引用 利用C NET开发Windows程序 4 CEditView类 利用CEdit接收用户输入 实现类似编辑控件的功能 通过成员函数GetEditCtrl 可以获得CEdit的引用 5 CRichEditView类 作为RichTextEdit的视图类 提供可以按照格式显示文本的能力 在使用时需要CRichEditDoc的支持

9、6 CFormView类 提供用户在资源文件中定义界面的能力 并可以将子窗口和变量进行绑定 通过UpdateData 函数让数据在变量和子窗口之间进行交换 UpdateData true 控件的value 成员变量UpdateData false 控件的value 成员变量 利用C NET开发Windows程序 设备上下文 DeviceContext DC 图形的输出设备有显示器 打印机 绘图仪等 为了实现图形输出与设备无关 Windows应用程序使用图形设备接口 GDI 进行图形编程 GDI给Windows提供全部绘图函数 这些函数会自动参考被称为设备上下文DC DeviceContext

10、的数据结构 而Windows则自动将设备上下文映射到具体的物理设备上实现图形输出 DC也称为设备描述表 是物理设备的逻辑形式 是GDI中的重要的组成部分 是一种数据结构 它定义了一系列图形对象以及图形对象的属性和图形输出的图形模式 图形对象包括画线的画笔 用于填充图形的画刷 位图和调色板等 利用C NET开发Windows程序 设备上下文 DeviceContext DC Windows和MFC类库提供了四种类型的设备上下文 显示设备上下文DisplayDC 将显示信息输出到视频显示器 打印设备上下文PrinterDC 将显示信息输出到打印机 内存设备上下文MemoryDC 为特定的设备保存位

11、图图像 信息设备上下文InformationDC 用于访问默认设备数据信息的设备上下文 利用C NET开发Windows程序 绘图句柄 HandlerDeviceContext HDC 设备上下文不能被应用程序直接存取 只能通过调用句柄 HDC 来间接地存取设备上下文及其属性 MFC类库提供了不同类型的设备上下文的类 每一个类都封装了代表Windows设备上下文的句柄 HDC 和函数 1 CDC类 是设备上下文的基类 利用它可以访问整个显示设备和其它输出设备 2 CPaintDC类 是OnPaint 函数使用的设备上下文类 代表了窗口的绘图画面 3 CClientDC类 是窗口客户区的设备上下

12、文类 代表了客户区窗口的绘图画面 利用C NET开发Windows程序 绘图句柄 HandlerDeviceContext HDC 4 CWindowDC类 是整个窗口区域的设备上下文类 整个窗口区域即包括客户区又包括非客户区 即允许用户在显示器屏幕的任何地方绘图 包括窗口边框 标题区域 5 CMetaFileDC类 用于创建一个Windows图元文件的设备上下文 Windows图元文件包含了一系列GDI绘图命令 1 通过向导 创建项目MyDemo 2 设置项目的属性为单文档 3 将自动生成四个类和唯一的全局应用类对象theApp CMyDemoApp应用程序类 CMyDemoDoc文档类 C

13、MyDemoView视图类 CmainFrame主框架类 4 重写视图类 CMyDemoView 成员函数OnDraw 5 通过CMainFrame的PreCreateWindow 函数 修改窗口的大小 标题等 MFC图形用户界面程序设计 控件控件 Control 是Windows系统定义的一类标准子窗口 用于捕获事件并向其父窗口发送消息 MFC图形用户界面程序设计 常用控件借助MFC的资源编辑器 可以 所见即所得 在对话框中布置控件 形成程序运行时与用户的交互界面 编辑框 EditControl 也称文本框 用于显示和输入 其MultiLine属性为False时是单行文本框 为True时为多

14、行文本框 Password属性决定是否是密码文本框 静态文本框 StaticText 也称标签框 修改Caption属性显示提示信息 命令按钮 Button 触发命令执行 MFC图形用户界面程序设计 利用MFC向导建立对话框应用程序通过向导 创建项目Passed MFC图形用户界面程序设计 2 设置项目的属性为基于对话框 MFC图形用户界面程序设计 3 设置用户界面的主框架样式 MFC图形用户界面程序设计 4 向导自动生成二个类和唯一的全局应用类对象theApp MFC图形用户界面程序设计 5 利用资源编辑器设计密码验证窗体界面 MFC图形用户界面程序设计 6 利用属性窗口设置控件属性 MFC

15、图形用户界面程序设计 控件的成员变量分2种 Control变量 标识控件对象Value变量 保存数据当控件和成员变量进行绑定后 可以通过UpdateData 函数让数据在成员变量和控件之间进行交换 UpdateData true 控件的value 成员变量UpdateData false 控件的value 成员变量 MFC图形用户界面程序设计 6 为控件定义Control成员变量 MFC图形用户界面程序设计 7 为按钮定义单击 BN CLICKED 事件函数 MFC图形用户界面程序设计 MFC的核心组件 标准组件定义在 afxwin h 中 其中关于文本的函数有 设置组件文本内容voidSet

16、WindowText LPCTSTRlpszString 2 获取组件文本内容voidGetWindowText LPCTSTRlpszString 3 获取组件文本内容intGetWindowTextLength const 4 设置组件文本字体voidSetFont CFont pFont BOOLbRedraw TRUE MFC图形用户界面程序设计 8 编写函数OnBnClickedButton1 的代码 MFC图形用户界面程序设计 9 为控件定义value成员变量 10 为类添加公共成员函数 voidsetValue CStringstrValue CStringgetString 11 定义成员函数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号