win编程_3讲.ppt
《win编程_3讲.ppt》由会员分享,可在线阅读,更多相关《win编程_3讲.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、理学院计科系肖云萍 Windows编程课件-2012年春 1/38温馨小贴士:听课时关注以下几个问题听课时关注以下几个问题1.什么是什么是设备无关性设备无关性?它在?它在Windows编程中有何意编程中有何意义?义?2.GDI(图形设备接口图形设备接口)程序设计的特点程序设计的特点 是什么是什么?3.DC(设备描述表设备描述表)的含义什么?其句柄如何获取的含义什么?其句柄如何获取?4.图形刷新图形刷新的意义何在?刷新方法有哪些?的意义何在?刷新方法有哪些?5.绘图工具绘图工具(画画笔笔/刷刷)使用的方法和一般步骤是什使用的方法和一般步骤是什么么?6.常用绘图函数有哪些?如何使用?常用绘图函数有
2、哪些?如何使用?理学院计科系肖云萍 Windows编程课件-2012年春 2/38本章要点本章要点 Windows图形设备接口图形设备接口(GDI)是为)是为与与设备无关设备无关的图形设计的。的图形设计的。(所谓设备无所谓设备无关性,就是操作系统屏蔽了硬件设备的关性,就是操作系统屏蔽了硬件设备的差异,因而设备无关性能使用户编程时差异,因而设备无关性能使用户编程时无需考虑特殊的硬件设置。无需考虑特殊的硬件设置。)本讲将介绍本讲将介绍其有关概念,为编写其有关概念,为编写Windows图形程序图形程序奠定基础。奠定基础。4讲3讲Study hard and make progress every d
3、ay!理学院计科系肖云萍 Windows编程课件-2012年春 3/38GDIGDI的特点及其应用的特点及其应用绘图工具绘图工具常用绘图函数常用绘图函数应用程序举例应用程序举例本章主要内容本章主要内容Study hard and make progress every day!理学院计科系肖云萍 Windows编程课件-2012年春 4/381.DC(1.DC(设备描述表设备描述表)及其及其句柄的获取句柄的获取(掌握掌握)2.2.图形刷新图形刷新的概念及其方法的概念及其方法(理解理解)3.3.映射模式映射模式(了解了解)一、一、GDIGDI的特点及其应用的特点及其应用理学院计科系肖云萍 Win
4、dows编程课件-2012年春 5/38Windows支持与支持与设备无关设备无关的图形设计的图形设计利用利用GDI和和Windows设设备驱动程序备驱动程序引言引言开发人员开发人员只要只要建立建立与输与输出设备的关联出设备的关联,让系统,让系统加载相应的设备驱动程加载相应的设备驱动程序即可。序即可。GDI为程序员程序设计为程序员程序设计带来了什么好处呢?带来了什么好处呢?Graphics Device Interface,简称简称GDI理学院计科系肖云萍 Windows编程课件-2012年春 6/381.DC1.DC及其及其句柄的获取句柄的获取DC的概念:的概念:DC(Device Cont
5、ext,DC)是用来是用来定义图形对象定义图形对象及及其属性其属性,并且影响并且影响GDI输出图形方式输出图形方式的一的一种结构。种结构。即为即为设备环境设备环境的属性的的属性的集合。集合。理学院计科系肖云萍 Windows编程课件-2012年春 7/38u设备无关性设备无关性Win系统系统外设外设直接访问直接访问不允许不允许统一的设备环境统一的设备环境(DC)提供提供使使应用程序与设备相连应用程序与设备相连用用户户为确保为确保图形输出图形输出的的设备无关性设备无关性理学院计科系肖云萍 Windows编程课件-2012年春 8/381.DC及其及其句柄的获取句柄的获取应应用用程程序序设备设备描
6、述描述表及表及其属其属性性通过通过设备描述表的句柄设备描述表的句柄来间接地存取来间接地存取重点重点如何获取如何获取:hDC理学院计科系肖云萍 Windows编程课件-2012年春 9/381.DC及其及其句柄的获取句柄的获取 获取设备环境句柄的方法获取设备环境句柄的方法:有有2种,即种,即 调用调用 BeginPaint()来获取,使用来获取,使用EndPaint()释放。释放。函数原型为函数原型为:HDC BeginPaint(HWND hwnd,PAINTSTRUCT&Ps);void EndPaint(HWND hwnd,PAINTSTRUCT&Ps);理学院计科系肖云萍 Windows
7、编程课件-2012年春 10/38u窗口的窗口的PAINTSTRUCT结构结构Typedef struct tagPAINTSTRUCT HDC hdc;BOOL fErase;/一般取真值,表示擦除一般取真值,表示擦除无效矩形无效矩形的背景的背景 RECT rcPaint;/无效矩形标识无效矩形标识 BOOL fRestore;/系统保留系统保留 BOOL fIncUpdate;/系统保留系统保留 BYTE rgbReserved32;/系统保留系统保留 PAINTSTRUCT;理学院计科系肖云萍 Windows编程课件-2012年春 11/381.DC及其及其句柄的获取句柄的获取 获取设备
8、环境句柄的方法获取设备环境句柄的方法:有有2种,即种,即 调用调用 GetDC()来来获取,获取,使用使用ReleaseDC()释放。释放。函数原型为函数原型为:HDC GetDC(HWND hwnd);void ReleaseDC(HWND hwnd,HDC hdc);理学院计科系肖云萍 Windows编程课件-2012年春 12/38两种两种获取获取hDC的方法比较的方法比较理学院计科系肖云萍 Windows编程课件-2012年春 13/382.图形刷新的概念及其方法图形刷新的概念及其方法图形刷新图形刷新是绘图过程中必须考虑的重要问题是绘图过程中必须考虑的重要问题刷新请求刷新请求对刷新请求
9、的响应对刷新请求的响应刷新方法刷新方法包括理学院计科系肖云萍 Windows编程课件-2012年春 14/38 刷新请求刷新请求向系统发出向系统发出WM_PAINTWM_PAINT 消息 窗口大小的调整窗口大小的调整窗口移动窗口移动被覆盖后的恢复被覆盖后的恢复 当用户触当用户触发了事件发了事件理学院计科系肖云萍 Windows编程课件-2012年春 15/38 系统对刷新请求的响应:系统对刷新请求的响应:系统向应用程序消息队列发送系统向应用程序消息队列发送WM_PAINT消息,以通知窗口函数执行消息,以通知窗口函数执行刷新处理。刷新处理。窗口移动后的刷新窗口移动后的刷新被覆盖区域的刷新被覆盖区
10、域的刷新对象穿越后的刷新对象穿越后的刷新(系统自动完成)三种三种刷新刷新理学院计科系肖云萍 Windows编程课件-2012年春 16/38 有效的刷新方法:有效的刷新方法:3种种App刷新窗刷新窗口的方法口的方法保存副本保存副本。刷新。刷新时将副本拷贝到时将副本拷贝到相应的窗口中。相应的窗口中。记录事件记录事件。刷新时重新执。刷新时重新执行这个曾经发生的事件。行这个曾经发生的事件。重新绘制重新绘制。将图形绘制处理程。将图形绘制处理程序放在消息序放在消息WM_PAINT响应模响应模块中,刷新时重绘图形。块中,刷新时重绘图形。理学院计科系肖云萍 Windows编程课件-2012年春 17/383
11、.映射模式映射模式(了解了解)映射模式:映射模式:定义了定义了将将逻辑单位逻辑单位转化为转化为设备的度量单位,设备的度量单位,以及设备的以及设备的x x方向和方向和y y方向方向,程序员可在一个,程序员可在一个统一的统一的逻辑坐标逻辑坐标系系中操作,而不必考虑中操作,而不必考虑输出设备的坐标输出设备的坐标系系情况。情况。窗口与视口窗口与视口Windows中使用的映射模式中使用的映射模式映像模式的获取与设置映像模式的获取与设置理学院计科系肖云萍 Windows编程课件-2012年春 18/38窗口与视口窗口与视口窗口窗口:对应对应逻辑坐标逻辑坐标系系上程序员设定上程序员设定的区域。的区域。视口视
12、口:对应对应实际输出实际输出设备设备上程序员设上程序员设定的区域。定的区域。窗口和视口如何映射?窗口和视口如何映射?理学院计科系肖云萍 Windows编程课件-2012年春 19/38Windows中使用的映射模式中使用的映射模式(参见参见p86-88)按坐标比例映射保持原有的对称性默认理学院计科系肖云萍 Windows编程课件-2012年春 20/38映像模式的获取与设置:映像模式的获取与设置:获取当前设备环境的映像模式获取当前设备环境的映像模式:nMapMode=GetMapMode(hdc);/nMapMode为映像模式的整型标识符为映像模式的整型标识符设置设备环境的映像模式设置设备环境
13、的映像模式:SetMapMode(hdc,nMapMode);例如:例如:SetMapMode(hdc,MM_TEXT);/默认映像模式默认映像模式Study hard and make progress every day!理学院计科系肖云萍 Windows编程课件-2012年春 21/381.1.绘图工具及其使用绘图工具及其使用(掌握掌握)2.2.颜色设置颜色设置(理解并掌握理解并掌握)二、绘图工具与颜色二、绘图工具与颜色理学院计科系肖云萍 Windows编程课件-2012年春 22/381.绘图工具及其使用绘图工具及其使用l绘图工具绘图工具:画笔与画刷。画笔与画刷。1.获取获取Win系统
14、库存系统库存画笔画笔/刷刷或或创建创建画笔画笔/刷刷2.将画笔将画笔/刷选入设备环境,使用函刷选入设备环境,使用函数:数:SelectObject(hdc,hP/hBr);3.删除画笔删除画笔/刷刷,使用函数:使用函数:DeleteObject(hP/hBr);使使用用步步骤骤重重点点.绘图工具颜色绘图工具颜色理学院计科系肖云萍 Windows编程课件-2012年春 23/38获取获取Windows的库存绘图工具的库存绘图工具调用函数调用函数GetStockObject(nP/BrStyle)获获取取Win系统定义的系统定义的4种画笔种画笔或或7种画刷种画刷。BLACK_BRUSH 黑色画刷黑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- win 编程 _3
限制150内