mfc中cdc 绘图

mfc中cdc 绘图

ID:19745595

大小:81.50 KB

页数:26页

时间:2018-10-05

mfc中cdc 绘图_第1页
mfc中cdc 绘图_第2页
mfc中cdc 绘图_第3页
mfc中cdc 绘图_第4页
mfc中cdc 绘图_第5页
资源描述:

《mfc中cdc 绘图》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MFC中的CDC绘图 绘图一般在视图类的(屏幕/打印机)绘图消息响应函数OnDraw中进行,例如:voidCTestView::OnDraw(CDC*/*pDC*/){        CTestDoc*pDoc=GetDocument();        ASSERT_VALID(pDoc);        if(!pDoc)               return;        //TODO:在此处为本机数据添加绘制代码}每次需要重绘窗口时(程序启动/窗口大小改变/全部或部分窗口重现/程序员调用RedrawWindow或UpdateWindow),应用程序框架都会调用该C

2、Wnd的消息响应成员函数(的覆盖)来绘制窗口客户区。在Windows中,绘图一般在视图窗口的客户区进行,使用的是MFC的设备上下文(DC=Device-Context)类CDC中各种绘图函数。在绘图前,必须先得到客户区大小和DC、设置绘图颜色,然后再根据文档数据或用户操作来绘制图形。1几何对象的结构和类为了使用绘图函数,应该先了解绘图所用到的几种表示几何对象的结构和类。这些结构和类分别定义在头文件windef.h和afxwin.h中。1.点1)点结构POINT点数据结构POINT用来表示一点的x、y坐标:typedefstructtagPOINT{      LONGx;   

3、   LONGy; }POINT;2)点类CPoint点类CPoint为一个没有基类的独立类,封装了POINT结构,有成员变量x和y,其构造函数有5种:CPoint();CPoint(intinitX,intinitY);CPoint(POINTinitPt);CPoint(SIZEinitSize);CPoint(LPARAMdwPoint);//低字设为x、高字设为yCPoint类还定义了4个平移和设置函数:voidOffset(intxOffset,intyOffset);voidOffset(POINTpoint);voidOffset(SIZEsize);voidSe

4、tPoint(intX,intY);CPoint类还重载了+、-、+=、-=、==、!=等运算符来支持CPoint对象和CPoint、POINT、SIZE对象之间的运算。2.大小1)大小结构SIZE大小(size尺寸)结构SIZE用来表示矩形的宽cx和高cy:typedefstructtagSIZE{     LONGcx;     LONGcy;}SIZE;2)大小类CSize大小类CSize也为一个没有基类的独立类,封装了SIZE结构,有成员变量cx和cy,其构造函数也有5种:CSize();CSize(intinitCX,intinitCY);CSize(SIZEinit

5、Size);CSize(POINTinitPt);CSize(DWORDdwSize);//低字设为cx、高字设为cyCSizet类也重载了+、-、+=、-=、==、!=等运算符来支持CSize对象和CSize、POINT、SIZE、RECT对象之间的运算。3.矩形1)矩形结构RECT矩形结构RECT定义了矩形的左上角与右下角的坐标:typedefstructtagRECT{    LONGleft;    LONGtop;    LONGright;    LONGbottom;}RECT;2)矩形类CRect矩形类CRect也为一个没有基类的独立类,封装了RECT结构,有成

6、员变量left、top、right和bottom,其构造函数有6种:CRect();CRect(intl,intt,intr,intb);CRect(constRECT&srcRect);CRect(LPCRECTlpSrcRect);CRect(POINTpoint,SIZEsize);CRect(POINTtopLeft,POINTbottomRight);CRect类重载了=,+、-,+=、-=,==、!=,&、

7、,&=、

8、=等运算符来支持CRect对象和CRect、POINT、SIZE、RECT对象之间的运算。还定义了转换符LPCRECT和LPRECT来自动完成CRec

9、t对象到矩形结构和类指针LPCRECT和LPRECT的转换。CRect类中常用的属性和成员函数有:intWidth()const;intHeight()const;CSizeSize()const;CPoint&TopLeft();CPoint&BottomRight();CPointCenterPoint()const;voidSwapLeftRight();BOOLIsRectEmpty()const;BOOLPtInRect(POINTpoint)const;voidSetRect(i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。