V C ++程序设计课程设计报告书 题目: 绘图软件设计 班级: 学号: 姓名: 指导教师: 周期: 成绩: 一、课程设计的目的与要求 (一)课程设计目的与任务 目的:根据自身对 visual c++ 的学习,通过此次上机实践,加深对 visual c++ 各类控件的知识。充分了解各个控件之间的使用及数据的传递方法,根据所学习的类、变量、函数来完成一项简单的课程设计,实现画图软件的功能 任务:使用 visual c++.net完成所选择的课程设计的题目以及题目中所要求实现的相关功能与要求,并且通过本次的课程设计,让自己对 visual c++ 有进一步的理 (二)题目要求 单文档应用程序,能够选择图形的类型(圆,矩形,直线,画笔),能够选择图形的颜色,能够对绘制的图形进行颜色填充,能够选择图形的线型(如实线,虚线),能够选择画线的颜色和线的宽度。 二、设计正文 1 、系统分析 对需要用到的变量进行初始化,选择相应的图形之后就响应相应的消息处理函数,赋对应的值。选择不同 的线宽,线色与填充色,鼠标的按下响应函数 OnLButtonDow n(),捕捉鼠标当前位置得到起点的坐标,鼠标 的拖动响函数 OnMouseMove()改变终点的坐标,鼠标的弹起响应 OnLButtonUp(),确定终 点坐标,得到绘制图形。 2、 功能详细描述及框图 3、主要功能逻辑过程 绘制图形: 鼠标左键按下,则捕获鼠标此时的位置坐标为画图的起点,此时在 OnLButtonDow n() 函数里,将捕获的坐标值赋给定义作为起点的变量;按下鼠标左键拖动鼠标时,捕 捉鼠标当前位置坐标值为终点坐标值,此时在 OnMouseMove()函数里,把捕获的坐标值赋 给定义作为终点的变量,绘图代码中的坐标都得到了,进行绘图;鼠标左键弹起时,此时绘图结束,鼠标弹起时所在位置就是画图的最终终点位置,此时执行的是 OnLButtonUp()函数 主要算法: int CMy1109113112View::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; pdc=new CClientDC(this); color=RGB(0,0,0); tccolor=RGB(255,255,255); width=1; style=0; tcstyle=5; type=4; a=false; tc=false; return 0; } void CMy1109113112View::OnLButtonDown(UINT nFlags, CPoint point) { p1=p2=point; pen.CreatePen(style,width,color); pdc->SelectObject(&pen); if(tc) { bsh.CreateHatchBrush(6,tccolor); pdc->SelectObject(...