- 3
- 0
- 约9.75千字
- 约 33页
- 2017-03-28 发布于四川
- 举报
vìsualc高级编程第二讲
Visual C++高级编程 第二讲 使用MFC进行GUI编程 Windows GUI 编程 Microsoft Visual C++提供了几种不同途径的GUI(图形用户界面)编程方法: 1、直接调用底层Win32应用程序接口(API)提供的函数用C或C++编写GUI程序。API函数是Windows操作系统的一部分。 2、利用Microsoft基础类(MFC),用C++进行编程。MFC可以简化GUI Win32 API,提供更高级、更具移植性的编程接口。 3、可以用MFC和Microsoft向导编写C++下的GUI程序,应用程序向导可以用来生成各种不同的GUI程序源文件,然后可以用Class Wizard工具生成派生类、定义处理消息等大部分代码。 程序类和文件 在SDI(单文档接口)应用程序中,一般包括四个主类: 文档类:用来存放程序数据 视图类:用来显示程序数据 主帧窗口类:管理主程序窗口 应用程序类:完成程序任务,如初始化程序和完成最后程序整理等 程序的流程 程序的流程如下: 调用CWinApp类构造器 程序入口函数WinMain函数接收控制 初始化处理 消息处理循环 程序的终止 程序的流程 CWinApp—取代了WinMain的地位 CWinApp—取代了WinMain的地位 CFrameWnd—取代了WndProc 问题三的答案 在MFC程序中,WINMAIN函数还是存在的,它由MFC准备好的并由链接器直接加入应用程序代码中的(StartUp代码)。 消息处理 构造游戏窗口 VC中四个重要的工具 构造游戏窗口 在利用VC开发游戏程序时,由于MFC的APP向导是一个程序代码产生器——在各项选择中产生出某种特色的主干程序,这个过程会嵌入许多默认的窗口、对话框、菜单等组件,这些组件在游戏中根本用不上,因此我们一般采用第二种开发方式:即利用Microsoft基础类(MFC)开发游戏程序。 构造游戏窗口的步骤 程序项目的建立:P18~19(选择Win32) STDAFX.H文件的建立:这个文件用来作为Precompiled head file(预编译头文件),其内只是载入其他MFC头文件。 资源文件的建立 启动Class Wizard用来管理类、消息映射等 设置使用MFC函数库 使用Class Wizard建立应用程序类和窗口类 生成应用程序类实例,改写InitInstance函数(生成主窗口) MFC概述 MFC其实是把Windows API做了一层薄薄包装,包装于各个设计良好的classes而已。 MFC非常巨大,主要可以分为下列几大群组: 一般用途Classes:提供字符串类、数据处理类、异常处理类、文件类等 Windows API Classes:用来封装Windows API,例如窗口类、对话框类、DC类等 应用程序骨干类:包括Document/View、消息泵、动态创建、文件读写等 高级抽象类:如工具栏、状态栏、对话框等 操作系统扩展类:如OLE、ODBC、DAO、MAPI等 MFC绘图类 Windows不允许用户直接存取VGA显卡上的内存,所以在MFC中提供了大量的GDI(图形设备接口)类: 设备上下文 在绝大多数的WINDOWS应用都需要在屏幕上显示自己的数据。由于WINDOWS是一个设备无关的操作系统,所以任何向屏幕上进行输出的功能都要间接地通一个叫做设备上下文(device context)的对象来完成。我们向设备上下文提出屏幕输出的要求,然后由WINDOWS自己来调用具体的输出设备的驱动程序来完成实际的输出工作。 MFC的CDC类 DC代表一条图形的输出途径,在MFC中通过CDC类来实现图形的输出(显示)来简化图形显示的操作. CDC类的常用函数 MoveTo:移动当前位置。 LineTo:从当前位置到一点画直线。 TextOut:用当前的字体显示字符串。 BitBlt:从指定设备上下文拷贝图像。 CreateCompatibleDC:创建内存设备上下文,与另一设备上下文匹配。如在内存中准备显示的图像。 SelectObject:选择画笔等GDI绘图对象。 MFC绘图函数 在MFC程序中一般通过响应WM_PAINT消息来实现窗口图形的重绘。 如果程序在视图窗口以外的窗口(如对话框)显示图形,则窗口应提供WM_PAINT的消息处理函数---OnPaint,已便绘制或重绘图形. 与其他窗口类似,视图窗口要绘制或重绘时也收到WM_PAINT消息,但CView类提供了一个OnPaint函数,并调整设备描述表,然后将对象传入OnDraw函数.因此,只有非CView派生的窗口类才需要提供自己的OnPaint函数
您可能关注的文档
- ppt文字与图片的处理方法—ppt.ppt
- ppt幻灯片背景图片[可爱清新].ppt
- ppt模板—唯美水墨荷花动态.ppt
- ppt模板—学生会部门介绍.ppt
- ppt幻灯片背景图片[可爱清新系列].ppt
- ppt排版方法[offìce资源宝库].ppt
- ppt模板—浅色—简历模板.ppt
- ppt模板—怎样慧眼识人.ppt
- ppt动画简历自我介绍动画版[ppt工作室].ppt
- photoshop第2章节节演示演示课件.ppt
- 全过程工程管理造价咨询工程监理项目服务方案投标方案(技术部分).doc
- 招标代理服务投标技术服务方案(技术方案).doc
- AI大模型与AIGC技术在公安领域的应用解决方案(99页 PPT).pptx
- 工业4.0智能制造数字工厂规划方案.pptx
- 树立社会主义核心价值观.docx
- 三年(2023-2025)中考历史真题分类汇编(全国)专题21 科技文化与社会生活(解析版).docx
- 2025年中考道德与法治真题完全解读(吉林卷).pdf
- 2025年中考道德与法治真题完全解读(安徽卷).pdf
- 三年(2023-2025)中考历史真题分类汇编(全国)专题14 人民解放战争(解析版).pdf
- 三年(2023-2025)广东中考历史真题分类汇编:专题03 中国近代史(八年级上册)(解析版).docx
最近下载
- Leica_TS16_UM_v2-0-0_zh-徕卡实用说明书.pdf VIP
- 医院感染暴发控制标准2025版课件.pptx VIP
- 医学免疫学(全套课件272P)ppt课件.pptx VIP
- 古建筑安全监测技术标准.pdf VIP
- A4版2023安徽省中考数学答题卡.pdf
- Vaillant威能VIH CN 水罐参数技术参数.pdf
- 喷墨打印OLED技术全球竞争格局与发展策略.docx VIP
- 2025年9月山西医科大学附属晋中医院(晋中市第一人民医院)招聘编制外人员38人笔试模拟试题及答案解析.docx VIP
- 2025年9月山西医科大学附属晋中医院(晋中市第一人民医院)招聘编制外人员38人考试参考试题及答案解析.docx VIP
- 人教版物理8年级下册全册教学课件.pptx
原创力文档

文档评论(0)