浙江工业大学卢谨老师的VC++复习new课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《浙江工业大学卢谨老师的VC++复习new课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江工业大学 老师 VC 复习 new 课件
- 资源描述:
-
1、复 习 主要内容 WindowsWindows应用程序概述应用程序概述 MFCMFC应用程序概述应用程序概述 图形与文本图形与文本 对话框对话框 菜单、工具栏和状态栏菜单、工具栏和状态栏 WindowsWindows控件控件 文档与视图文档与视图 动态链接库动态链接库WindowsWindows应用程序概述应用程序概述 利用利用Windows APIWindows API函数和函数和MFCMFC类库编写类库编写WindowsWindows应应用程序用程序必须首先了解以下内容:必须首先了解以下内容:(1)(1)窗口的概念窗口的概念(2)(2)事件驱动的概念事件驱动的概念(3)(3)句柄句柄(4)
2、(4)消息消息2.2 Windows应用程序组成及编程步骤应用程序组成及编程步骤 一个完整的一个完整的Windows应应用程序通常用程序通常由由五种类型五种类型的文件组成。的文件组成。2.2.1 应用程序的组成应用程序的组成1.C语言源程序文件语言源程序文件(.cpp)2.头文件头文件(.h)3.模块定义文件模块定义文件(.def)4.资源描述文件资源描述文件(.rc)5.项目文件项目文件(.mark)入口函数入口函数WinMain窗口函数窗口函数WndProcWndProcWindows应用程序应用程序构成基构成基本框架本框架包含各种包含各种数据类型、数据类型、数据结构数据结构与函数等与函数
3、等WinMain和和WinProc是是Windows应用程序的主体应用程序的主体2.2.2 源程序的组成结构源程序的组成结构1.所有应用程序的入口,类似所有应用程序的入口,类似Main函数,函数,2.完成一系列的定义和初始化,并产生消息循环完成一系列的定义和初始化,并产生消息循环MFCMFC应用程序概述应用程序概述MFCMFC应用程序框架结构类的继承关系:应用程序框架结构类的继承关系:2.2.2 MFC应用程序框架结构类应用程序框架结构类CCmdTargetCWinThreadCWndCDocumentCDocTemplateCWinAppCViewCFrameWndCMDIChildWndC
4、MDIFrameWndCSingleDocTemplateCMultiDocTemplateCObject 一个一个MFCMFC应用程序并不直接操作上述类,而是应用程序并不直接操作上述类,而是以上述类为以上述类为基类派生新的类基类派生新的类,从而构建,从而构建WindowsWindows应用程序的基本框架。应用程序的基本框架。例如,应用程序例如,应用程序Li2_1Li2_1中的类与这些基类的派生关系中的类与这些基类的派生关系:类名称 基 类 说 明 CLi2_1App CMainFrame CLi2_1View CLi2_1Doc CWinApp CFrameWnd CView CDocume
5、nt 应用程序类 框架窗口类 视图类 文档类 2.3 消息映射与消息处理消息映射与消息处理 WindowsWindows消息主要有消息主要有3 3种类型种类型:标准标准WindowsWindows消息消息、控件消息控件消息和和命令消息命令消息。2.3.1 消息的类别及其描述消息的类别及其描述 2.3.2 MFC消息映射机制消息映射机制 MFC MFC采用采用消息映射消息映射来处理消息;来处理消息;消息映射机制包括消息映射机制包括一组消息映射宏一组消息映射宏,用于把一个,用于把一个WindowsWindows消息和其消息处理函数联系起来。消息和其消息处理函数联系起来。所有从所有从CCmdTarg
6、etCCmdTarget类派生出来的类都能够拥有自类派生出来的类都能够拥有自己的消息映射。己的消息映射。图形与文本 Windows图形设备接口图形设备接口(GDI)是为与)是为与设备无关设备无关的的图形设计的。所谓图形设计的。所谓设备的无关性设备的无关性,就是操作系统屏蔽,就是操作系统屏蔽了硬件设备的差异,因而设备无关性能使用户编程时了硬件设备的差异,因而设备无关性能使用户编程时无需考虑特殊的硬件设置无需考虑特殊的硬件设置一、图形设备接口一、图形设备接口(GDI)(GDI)GDI负责系统与用户或绘图程序之间的信息交换,并控制在输负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上出设备上
7、显示图形显示图形或或文字文字,是是Windows系统的重要组成部分系统的重要组成部分Windows支持与设备无关的图形支持与设备无关的图形利用利用GDI和和Windows设设备驱动程序备驱动程序开发人员只要建开发人员只要建立与输出设备的立与输出设备的关联,让系统加关联,让系统加载相应的设备驱载相应的设备驱动程序即可动程序即可1.1.GDI的一些基本概念的一些基本概念 设备描述表设备描述表即为即为设备环境设备环境的属性的集合的属性的集合应用程序应用程序与与输出设备输出设备之之间的桥梁间的桥梁Win系统系统外设外设直接访问直接访问不允许不允许统一的设备环境统一的设备环境(DC)提供提供使应用程序与
8、设备相连使应用程序与设备相连用用户户为确保图形输出为确保图形输出的设备无关性的设备无关性3.1.3 设备环境类设备环境类 1.1.设备环境类设备环境类CDC(Class of Device Context)CDC(Class of Device Context)及其功能及其功能 CObject CDC CClientDC CMetaFileDC CPaintDC CWindowDC 所有设备环境类的基类,对所有设备环境类的基类,对GDI的所有绘图函数进行了封装的所有绘图函数进行了封装用于响应窗口重绘消息的绘图输用于响应窗口重绘消息的绘图输出,不仅可对客户区进行操作,出,不仅可对客户区进行操作,
9、还可以对非客户区进行操作还可以对非客户区进行操作代表窗口客户区的设备环境代表窗口客户区的设备环境代表整个窗口的设备环境,包括代表整个窗口的设备环境,包括客户区和非客户区客户区和非客户区代表代表Windows图元文件设备环境图元文件设备环境MFC程序绘图的方法 在在MFCMFC应用程序中,一般情况下,很多绘图操作都是在视类的应用程序中,一般情况下,很多绘图操作都是在视类的OnDraw()OnDraw()成员函数中进行的成员函数中进行的.OnDraw()OnDraw()函数参数中自动有一个函数参数中自动有一个CDCCDC的指针的指针pDCpDC,利用,利用pDCpDC调用调用CDCCDC类的成员函
10、数完成绘图操作。类的成员函数完成绘图操作。另外,当用户需要立即绘制图像时,可以通过调用更新窗口另外,当用户需要立即绘制图像时,可以通过调用更新窗口函数函数Invalidate()Invalidate()使使WindowsWindows送出送出WM_PAINTWM_PAINT消息自动调用消息自动调用OnDraw()OnDraw()函数来重绘图形函数来重绘图形 3.2 3.2 GDIGDI对象类对象类CGdiObjectCGdiObject GDIGDI对象是对象是WindowsWindows图形设备接口的抽象绘图图形设备接口的抽象绘图工具工具。除了画笔和画刷,其他。除了画笔和画刷,其他GDIGD
11、I对象还包括字体、对象还包括字体、位图和调色板。位图和调色板。MFCMFC对对GDIGDI对象进行了很好的封装,提供了封对象进行了很好的封装,提供了封装装GDIGDI对象的类,如对象的类,如CPenCPen、CBrushCBrush、CFontCFont、CBitmapCBitmap和和CPaletteCPalette等,这些类都是等,这些类都是GDIGDI对象类对象类CGdiObjectCGdiObject的派生类,它们的继承关系如图所示。的派生类,它们的继承关系如图所示。CObject CGdiObject CBitmap CBrush CFont CPalette CPen CRgn 画
12、笔。绘制对象的边框以及直线和曲线。画笔。绘制对象的边框以及直线和曲线。画刷。填充一个封闭图形对象内部区域画刷。填充一个封闭图形对象内部区域字体对象。用来绘制文本字体对象。用来绘制文本位图。装载和操作位图位图。装载和操作位图调色板。包含系统可用的色彩信息,是应调色板。包含系统可用的色彩信息,是应用程序和彩色输出设备环境的接口用程序和彩色输出设备环境的接口区域。用于设备环境区域。用于设备环境(通常是窗口通常是窗口)内的区内的区域操作域操作 GDI类图形对象类功能描述CPen用于绘制对象的边线CBrush用于填充绘制对象的内部CFont用于绘制文本3.3.3 创建和使用自定义画刷创建和使用自定义画刷
13、(画笔、字体画笔、字体)包括三个步骤包括三个步骤:创建画刷创建画刷:先构造一个没有初始化的先构造一个没有初始化的CBrushCBrush画刷对象,画刷对象,再调用再调用CBrushCBrush类的初始化成员函数创建定制的画刷工具。类的初始化成员函数创建定制的画刷工具。类型不同的画刷使用不同的函数实现类型不同的画刷使用不同的函数实现。选择创建的画刷选择创建的画刷还原画刷还原画刷 CBrushCBrush类提供的创建函数中常用的有以下几个:类提供的创建函数中常用的有以下几个:菜单、工具栏、状态栏4.1 菜单菜单 4.2 工具栏工具栏 4.3 状态栏状态栏 菜单设计一般需要经过下面三步:菜单设计一般
14、需要经过下面三步:(1)(1)使用菜单编辑器编辑菜单资源使用菜单编辑器编辑菜单资源,设置菜单属性设置菜单属性(包括菜单名和(包括菜单名和ID););(2)(2)使用使用ClassWizardClassWizard进行消息映射进行消息映射(3)(3)编辑成员函数,完成菜单所要实现的功能。编辑成员函数,完成菜单所要实现的功能。在类向导在类向导ClassWizardClassWizard的的Message MapMessage Map标签中,标签中,如果选择一个菜单如果选择一个菜单IDID,在,在MessagesMessages列表框中就会列表框中就会出现以下两项:出现以下两项:COMMANDUPD
15、ATE_COMMAND_UI 其中其中UPDATE_COMMAND_UI是更新命令用是更新命令用户接口消息,专门用于处理菜单项和工具条按钮户接口消息,专门用于处理菜单项和工具条按钮的更新。的更新。框架向处理函数发送更新命令时,传递给处理函数一个框架向处理函数发送更新命令时,传递给处理函数一个指向指向CCmdUICCmdUI对象的指针对象的指针。利用指向利用指向CCmdUICCmdUI对象对象的指针调用菜单或工具栏的命令接的指针调用菜单或工具栏的命令接口函数来更新用户接口对象。口函数来更新用户接口对象。CCmdUI对象对象菜单项菜单项工具按钮工具按钮成员函数功能Enable()设置菜单项是否有效
展开阅读全文