Visual C++ 与面向对象程序设计.pptVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
德州学院 计算机系 Visual C++ 与面向对象程序设计 第2章 GDI及其应用 德州学院 计算机系 主讲教师 韩金姝 本章主要内容 GDI的特点及其应用 绘图工具简介 常用绘图函数 应用实例 GDI的特点及其应用 GDI是为与设备无关的图形设计的 设备无关性:windows系统提供了应用程序与具体设备分离的功能。GDI负责系统与用户或绘图程序间的信息交换,并控制在输出设备上显示图形或者文字。 GDI的特点及其应用 设备描述表DC(Device Context) 是一个用来确定任何设备的GDI输出的位置和形象的属性的集合。应用程序使用设备描述表的句柄间接存取设备描述表及其属性。 P18表2-1:设备描述表的部分属性及其相关函数 GDI的特点及其应用 设备描述表句柄的获取方法:当程序为设备描述表要求一个句柄时,就将创建一个设备描述表(画布)。获取设备描述表句柄是应用程序输出图形的先决条件。 常用的两种获取设备描述表的方法如下: GDI的特点及其应用 方法1: GDI的特点及其应用 方法2: GDI的特点及其应用 图形刷新的概念及其方法 1.刷新请求:窗口移动刷新;被覆盖区刷新;对象穿越刷新。 2.系统对刷新请求的响应:因请求不同而不同,应用程序必须全面分析系统可能发送的刷新请求。 3.具体的刷新方法:将图形处理程序放在消息WM_PAINT响应模块中。 GDI的特点及其应用 映像模式 1.目的:映像模式定义了将逻辑单位转化为设备的物理度量单位及设备的X方向和Y方向。程序员可不必考虑输出设备的坐标系情况,而在一个统一的逻辑坐标系中组成图形的绘制与操作。 P22表2-3:Windows中的映像模式 GDI的特点及其应用 映像模式 2.坐标系统: 设备坐标系统:屏幕坐标系统;窗口坐标系统;用户区坐标系统。均以像素点来表示度量单位。 逻辑坐标系统:除上述以外的其他坐标系统。 在绘制一个对象前,Windows操作系统将逻辑单位映像成相应的设备坐标系统中的单位 GDI的特点及其应用 映像模式 2.映像模式的设置: SetMapMode(hdc,nMapMode) GetMapMode(hdc) SetWindowExtEx(hdc,nHeight,nWidth,lpsize) SetViewportExtEx(hdc,nHeight,nWidth,lpsize) SetWindowOrgEx(hdc,X,Y,lpPoint) SetViewportOrgEx(hdc,X,Y,lpPoint) 绘图工具简介 画笔:画直线和曲线 定义句柄 HPEN hP 生成绘图工具 hP=CreatePen( ) 选入设备描述表SelectObject( ) 绘制图形 删除DeleteObject( ) 绘图工具简介 画刷:指定区域的填充 画刷类似于画笔的操作过程 定义句柄 HBRUSH hBr 生成绘图工具 hBr=CreateSolidBrush( ) 选入设备描述表SelectObject( ) 绘制图形 删除DeleteObject( ) 绘图工具简介 颜色: 使用32位无符号整数表示颜色 RGB(nRed,nGreen,nBlue) 常用绘图函数 WindowsGDI函数很多,常用的如下 (详细说明见MSDN) 1.设置画笔当前位置:MoveToEx 2.从当前位置向指定坐标点画直线:LineToEx 3.绘制折线:Polyline 4.绘制椭圆弧线:Arc 5.使用当前画笔绘制一个饼图,并使用当前画刷填充:Pie 6.其他绘图并填充的函数:Rectangle,RoundRect,Ellipse,Polygon 应用实例 例2-1(P28):练习基本绘图过程 Step1:新建工程 Step2:在.CPP文件中创建Windows窗口,同第一章例题 Step3:在窗口处理函数中, switch(iMessage) { case WM_PAINT: 创建设备描述表,设置画笔和画刷,使用绘图函数绘图 } 应用实例 例2-2(P28):设置映像与使用映像 程序运行时,初始阶段按模式MM_TEXT绘图,图形为一个坐标系,以逻辑坐标系的原点为原点,X,Y分别是逻辑坐标系的X,Y轴。当用户按下“A”键或“B”键时,产生WM_CHAR消息,将映像模式改为ANISOTROPIC或LOMETRIC,同时调用InvalidateRect函数刷新用户区。 应用实例 课后练习(P34):定义一只红色的画笔,绘制一个等边五边形;用不同颜色的线条连接

文档评论(0)

策略培训库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档