欢迎来到天天文库
浏览记录
ID:43109113
大小:461.50 KB
页数:36页
时间:2019-09-30
《VisualC++教程ppt课件 第7章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、7.1.1设备环境类设备环境类CDC提供了绘制和打印的全部函数。为了能让用户使用一些特殊的设备环境,CDC还派生了CPaintDC、CClientDC、CWindowDC和CMetaFileDC类。(1)CPaintDC比较特殊,它的构造函数和析构函数都是针对OnPaint进行的,但用户一旦获得相关的CDC指针,就可以将它当成任何设备环境(包括屏幕、打印机)指针来使用。CPaintDC类的构造函数会自动调用BeginPaint,而它的析构函数则会自动调用EndPaint。(2)CClientDC只能在窗口的客户区(不包括边框、标题栏、菜单
2、栏以及状态栏)中进行绘图,点(0,0)通常指的是客户区的左上角。而CWindowDC允许在窗口的任意位置中进行绘图,点(0,0)指整个窗口的左上角。CWindowDC和CClientDC构造函数分别调用GetWindowDC和GetDC,但它们的析构函数都是调用ReleaseDC函数。(3)CMetaFileDC封装了在一个Windows图元文件中绘图的方法。图元文件是一系列与设备无关的图片的集合,由于它对图象的保存比像素更精确,因而往往在要求较高的场合下使用。目前的Windows已使用增强格式(enhanced-format)的32位图
3、元文件来进行操作。7.1.2坐标映射为了能保证打印的结果不受设备的影响,Windows定义了一些映射模式,这些映射模式决定了设备坐标和逻辑坐标之间的关系,如表所示。映射模式含义MM_TEXT每个逻辑单位等于一个设备像素,x向右为正,y向下为正MM_HIENGLISH每个逻辑单位为0.001英寸,x向右为正,y向上为正MM_LOENGLISH每个逻辑单位为0.01英寸,x向右为正,y向上为正MM_HIMETRIC每个逻辑单位为0.01毫米,x向右为正,y向上为正MM_LOMETRIC每个逻辑单位为0.1毫米,x向右为正,y向上为正MM_TW
4、IPS每个逻辑单位为一个点的1/20(一个点是1/72英寸),x向右为正,y向上为正MM_ANISOTROPICx,y可变比例MM_ISOTROPICx,y等比例映射模式7.1.3.CPoint、CSize和CRectCPoint、CSize和CRect类的构造函数CPoint类带参数的常用构造函数原型如下:CPoint(intinitX,intinitY);CPoint(POINTinitPt);CSize类带参数的常用构造函数原型如下:CSize(intinitCX,intinitCY);CSize(SIZEinitSize);CRe
5、ct类带参数的常用构造函数原型如下:CRect(intl,intt,intr,intb);CRect(constRECT&srcRect);CRect(LPCRECTlpSrcRect);CRect(POINTpoint,SIZEsize);CRect(POINTtopLeft,POINTbottomRight);7.1.3.CPoint、CSize和CRect2.CRect类的常用操作成员函数功能说明intWidth()const;返回矩形的宽度intHeight()const;返回矩形的高度CSizeSize()const;返回矩形的
6、大小,CSize中的cx和cy成员分别表示矩形的宽度和高度CPoint&TopLeft();返回矩形左下角的点坐标CPoint&BottomRight();返回矩形右下角的点坐标CPointCenterPoint()const;返回CRect的中点坐标BOOLIsRectEmpty()const;如果一个矩形的宽度或高度是0或负值,则称这个矩形为空,返回TRUEBOOLIsRectNull()const;如果一个矩形的上、左、下和右边的值都等于0,则返回TRUEBOOLPtInRect(POINTpoint)const;如果点point位
7、于矩形中(包括点在矩形的边上),则返回TRUEvoidSetRect(intx1,inty1,intx2,inty2);将矩形的各边设为指定的值,左上角点为(x1,y1),右下角点为(x2,y2)voidSetRectEmpty();将矩形的所有坐标设置为零voidNormalizeRect();使矩形符合规范voidOffsetRect(intx,inty);voidOffsetRect(POINTpoint);voidOffsetRect(SIZEsize);移动矩形,水平和垂直移动量分别由x、y或point、size的两个成员来指定
8、CRect类常用的成员函数7.1.4.颜色和颜色对话框一个彩色象素的显示需要颜色空间的支持,常用的颜色空间有RGB和YUV两种。RGB颜色空间选用红(R)、绿(G)、蓝(B)三种基色分量,通过
此文档下载收益归作者所有