- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows程序设计 第三章 图形编程 3.1设备环境 首先要明白一个常识,Windows是早于C++的,并独立于C++之外,因此,Windows的某些对象(注意这个说法“Windows的对象”)并不都属于C++封装技术的规范之内,即Windows的这些对象是Windows作为一个OS本身的对象,不是由某个C++的类创建而来,但是在C++里却可以用一个类封装这个(或这些)对象,并创建它们。 设备环境就属于上述的对象之一,它是Windows的对象,MFC用CDC类封装了设备环境对象。 3.1设备环境 Windows API给出了4种类型的设备环境 显示设备环境:支持视频显示器上的图形操作; 信息设备环境:提供设备数据的检索; 内存设备环境:支持位图上的图形操作; 打印设备环境:支持打印机或绘图仪上的图形操作。 在MFC中,针对Widnows的这4类设备环境,分别用4个DC类进行了封装: CDC类:基类; CPaintDC:只用于屏幕绘图; CClientDC:用于窗口客户区绘图; CWindowDC:用于窗口绘图; CMetaFileDC:用于操作图元文件 3.1设备环境 3.1设备环境 屏幕设备环境--用于绘制窗口内容 创建屏幕设备环境实例指针 CDC *pDC=GetDC();//绘制客户区 CDC *pDC=GetWindwoDC;//绘制非客户区 CDC *pDC=CDC::FromHandle(::GetDC(NULL));//绘制整个屏幕 释放设备环境实例指针 ReleaseDC(pDC); 下面简单说明屏幕设备环境的使用方法 信件MFC工程 找到OnDraw()函数 补充编写OnDraw()函数 编译程序 执行程序 3.1设备环境 3.1设备环境 3.1设备环境 单文档-记事本 多文档-word,execl 基本对话框-扫雷 3.1设备环境 3.1设备环境 3.1设备环境 3.1设备环境 3.1设备环境 3.1设备环境 3.1设备环境 3.1设备环境 3.1设备环境 3.1设备环境 3.1设备环境 3.1设备环境 3.2 绘图函数 画点-CDC实例对象包含两个常用画点函数 SetPixel(x,y,RGB(r,g,b))-用指定的颜色画一个像素,返回绘制时使用的实际颜色. SetPixelV(x,y,RGB(rg,b))-用指定的颜色画一个像素,没有返回值,因此绘图速度比上一个函数要快 3.2 绘图函数 3.2 绘图函数 画线-CDC实例对象包含8个常用画线函数 MoveTo()-开始画线、弧和多边形时,把光标移动到一个初始位置; LineTo()-画一条从初始位置到另一个点的直线; Arc()-画一段弧; AngleArc()-画一条线,然后画一段弧,并更新初始位置; PolyDraw()-画一系列线段和Bezier(贝济埃)曲线; PolyLine()-画一系列线段; PolyPolyLine()-画多个系列线段; 3.2 绘图函数 3.2 绘图函数 画形状 Ellipse()-画一个椭圆; Rectangle()-画一个矩形; Pie()-画一个扇形; RoundRect()-画一个圆角矩形; Draw3dRect()-画一个三维矩形; Polygon()-画一个得到焦点的矩形; DrawEdge()-画一个矩形的边缘; PolyPolygon()-创建一个或多个多边形; 3.2 绘图函数 3.2 绘图函数 3.2 绘图函数 形状填充和翻转 FillRect()-填充一个矩形; FillSolidRect()-用一单色填充一个矩形; InvertRect()-反转一个矩形颜色; FloodFill()-用当前画刷填充一个区域; ExtFloodFill()-用当前画刷填充一个区域,提供比FloodFill()成员函数更多的灵活性; FrameRect()-画一个矩形的边框 3.2 绘图函数 绘制文本 TextOut()-在一个指定位置,输出一个字符串; ExtTextOut()-在一个矩形区域内输出一个字符串; DrawText()-在指定的矩形区域内绘制文本,比TextOut()有更多的选择,如文本居中和显示多行文本等; 3.2 绘图函数 绘制位图和图标 位图-由大量像素组成的颜色阵列。 图标-位图的一种,通常为32×32像素,图标具有透明色这一附加能力。 绘图函数介绍 DrawIcon()-在指定位置画一个图标; BitBlt()-从指定的设备环境中复制一个位图,通常是从磁盘中装入或在内存中创建; PatBlt()-创建一个位图模式; LoadBitmap()-从应用程序资源里创建一个位图对象; CreateBitmapIndirect()-由BITMAP结构提供信息,创建一个位图对象; Cre
文档评论(0)