实现图形的重绘.doc

实现图形的重绘.doc

ID:50955908

大小:42.00 KB

页数:4页

时间:2020-03-16

实现图形的重绘.doc_第1页
实现图形的重绘.doc_第2页
实现图形的重绘.doc_第3页
实现图形的重绘.doc_第4页
资源描述:

《实现图形的重绘.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实现图形的重绘在所给代码的基础上实现图形的重绘(窗口大小改变后所绘制图形不丢失)。1、修改stdafx.h删除#include增加#include#include#include2、修改项目属性将【配置属性】-》【常规】-》【MFC的使用】修改为在共享的DLL中使用MFC3、修改FirstWnd.h增加以下代码:typedefstructtagDrawLine{POINTptStart;POINTptEnd;}DRAWLINE,*PDRAWLINE;typedefstructta

2、gDrawRect{RECTrect;}DRAWRECT,*PDRAWRECT;typedefenumtagSHAPE{SHAPELINE,SHAPERECT,SHAPEELLIPSE}SHAPE;typedefstructtagDrawShape{SHAPEshape;UINTpenWidth;DWORDcolor;BOOLbFill;union{DRAWLINEShapeLine;DRAWRECTShapeRect;};}DRAWSHAPE,*PDRAWSHAPE;4、修改firstWnd.cpp中DrawStru的定义,增加CArray

3、E,DRAWSHAPE&>graphicArray;这一句,修改后的代码为typedefstructtagDrawStru{enumDrawToolshape;BOOLbMouseDown;BOOLbFill;intxBegin,yBegin,x,y;COLORREFcolor;HPENhPen;HBRUSHhBr;intlineWidth;CArraygraphicArray;}DRAWSTRU,*PDRAWSTRU;5、修改voidLineMouseUp函数在函数的最后增加以下代码DRAWSHAPEmyShape

4、;myShape.shape=SHAPELINE;myShape.bFill=dr.bFill;myShape.color=dr.color;myShape.penWidth=1;myShape.ShapeLine.ptStart.x=dr.xBegin;myShape.ShapeLine.ptStart.y=dr.yBegin;myShape.ShapeLine.ptEnd.x=dr.x;myShape.ShapeLine.ptEnd.y=dr.y;dr.graphicArray.Add(myShape);6、修改voidEllipseMouseUp函数在函

5、数的最后增加以下代码DRAWSHAPEmyShape;myShape.shape=SHAPEELLIPSE;myShape.bFill=dr.bFill;myShape.color=dr.color;myShape.penWidth=1;myShape.ShapeRect.rect.left=dr.xBegin;myShape.ShapeRect.rect.top=dr.yBegin;myShape.ShapeRect.rect.right=dr.x;myShape.ShapeRect.rect.bottom=dr.y;dr.graphicArray.Add(

6、myShape);7、修改voidRectMouseUp函数参考6的代码8、修改WM_PAINT处理代码在窗口函数的开始部分增加以下定义:HPENhPen,hOldPen;HBRUSHhBr,hOldBr;在//Todo后面增加以下代码inti;DRAWSHAPEmyShape;for(i=0;i

7、Br=CreateSolidBrush(myShape.color);}else{hBr=(HBRUSH)GetStockObject(NULL_BRUSH);}hOldPen=(HPEN)SelectObject(hdc,hPen);hOldBr=(HBRUSH)SelectObject(hdc,hBr);switch(myShape.shape){caseSHAPELINE:MoveToEx(hdc,myShape.ShapeLine.ptStart.x,myShape.ShapeLine.ptStart.y,NULL);LineTo(hdc,myShap

8、e.ShapeLine.ptEnd.x

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

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

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