VC++课程设计(绘图软件)报告书.doc

VC++课程设计(绘图软件)报告书.doc

ID:57207704

大小:79.00 KB

页数:8页

时间:2020-08-06

VC++课程设计(绘图软件)报告书.doc_第1页
VC++课程设计(绘图软件)报告书.doc_第2页
VC++课程设计(绘图软件)报告书.doc_第3页
VC++课程设计(绘图软件)报告书.doc_第4页
VC++课程设计(绘图软件)报告书.doc_第5页
资源描述:

《VC++课程设计(绘图软件)报告书.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VC++程序设计课程设计报告书题目:绘图软件设计班级:学号:姓名:指导教师:周期:成绩:一、课程设计的目的与要求(一)课程设计目的与任务目的:根据自身对visualc++的学习,通过此次上机实践,加深对visualc++各类控件的知识。充分了解各个控件之间的使用及数据的传递方法,根据所学习的类、变量、函数来完成一项简单的课程设计,实现画图软件的功能任务:使用visualc++.net完成所选择的课程设计的题目以及题目中所要求实现的相关功能与要求,并且通过本次的课程设计,让自己对visualc++有进一步的理(二)题目要求单文档应用程序,能够选择图形的类

2、型(圆,矩形,直线,画笔),能够选择图形的颜色,能够对绘制的图形进行颜色填充,能够选择图形的线型(如实线,虚线),能够选择画线的颜色和线的宽度。二、设计正文1、系统分析对需要用到的变量进行初始化,选择相应的图形之后就响应相应的消息处理函数,赋对应的值。选择不同的线宽,线色与填充色,鼠标的按下响应函数OnLButtonDown(),捕捉鼠标当前位置得到起点的坐标,鼠标的拖动响函数OnMouseMove()改变终点的坐标,鼠标的弹起响应OnLButtonUp(),确定终点坐标,得到绘制图形。2、功能详细描述及框图3、主要功能逻辑过程绘制图形:鼠标左键按下,

3、则捕获鼠标此时的位置坐标为画图的起点,此时在OnLButtonDown()函数里,将捕获的坐标值赋给定义作为起点的变量;按下鼠标左键拖动鼠标时,捕捉鼠标当前位置坐标值为终点坐标值,此时在OnMouseMove()函数里,把捕获的坐标值赋给定义作为终点的变量,绘图代码中的坐标都得到了,进行绘图;鼠标左键弹起时,此时绘图结束,鼠标弹起时所在位置就是画图的最终终点位置,此时执行的是OnLButtonUp()函数主要算法:intCMyView::OnCreate(LPCREATESTRUCTlpCreateStruct){if(CView::OnCreate(

4、lpCreateStruct)==-1)return-1;pdc=newCClientDC(this);color=RGB(0,0,0);tccolor=RGB(255,255,255);width=1;style=0;tcstyle=5;type=4;a=false;tc=false;return0;}voidCMyView::OnLButtonDown(UINTnFlags,CPointpoint){p1=p2=point;pen.CreatePen(style,width,color);pdc->SelectObject(&pen);if(tc)

5、{bsh.CreateHatchBrush(6,tccolor);pdc->SelectObject(&bsh);}else{pdc->SelectStockObject(NULL_BRUSH);}pdc->SetROP2(R2_NOTXORPEN);a=true;CView::OnLButtonDown(nFlags,point);}voidCMyView::OnLButtonUp(UINTnFlags,CPointpoint){pdc->SetROP2(R2_COPYPEN);if(type==1){pdc->MoveTo(p1.x,p1.y);p

6、dc->LineTo(point.x,point.y);}elseif(type==2){pdc->Ellipse(p1.x,p1.y,point.x,point.y);}elseif(type==3){pdc->Rectangle(p1.x,p1.y,point.x,point.y);}elseif(type==4){pdc->MoveTo(p1.x,p1.y);pdc->LineTo(point.x,point.y);}a=false;pen.DeleteObject();bsh.DeleteObject();}voidCMyView::OnMou

7、seMove(UINTnFlags,CPointpoint){if(!a)return;if(type==1){pdc->MoveTo(p1.x,p1.y);pdc->LineTo(p2.x,p2.y);p2=point;pdc->MoveTo(p1.x,p1.y);pdc->LineTo(p2.x,p2.y);}elseif(type==2){pdc->Ellipse(p1.x,p1.y,p2.x,p2.y);p2=point;pdc->Ellipse(p1.x,p1.y,p2.x,p2.y);}elseif(type==3){pdc->Rectan

8、gle(p1.x,p1.y,p2.x,p2.y);p2=point;pdc->Rectangl

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

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

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