Windows程序设计报告(绘图软件).docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CAD软件的概括说明: 功能简介:主要有绘画、工具、图形修改等功能。绘画可以实现对矩形、圆形、直线、扇形、弧线、圆角矩形等自定义画图;工具中有画线、画笔、画刷橡皮等功能;图形修改包括图形移动、图形的放大与缩小、图形的复制与粘贴等,还有图形选择和取消功能作为其他功能的辅助条件。 功能具体说明: 绘制矩形: 绘制圆形: 绘制直线: 绘制扇形: 绘制弧线: 绘制圆角矩形: 画线:画线前要先选择画笔颜色和大小 选择中、绿色然后画线: 橡皮;使用橡皮可以擦拭所绘制的图形和画线 画刷:先选择颜色,然后可用画刷绘制扇形、弧线、圆角矩形,这里选择蓝色 图形移动:仅可移动矩形、圆形和直线,移动前要先进行图形选择 改变大小:改变前先选择然后按键改变 图形复制与粘贴:复制前先选择要复制的图形,粘贴会在图形右10处产生新的相同的图形 2.主要功能的实现过程及对象的代码和资源 首先新建了一个继承于CObject的类CGrapghic类作为各个图形的基类,由这个基类派生出CRECT类、CLINE类、CCIRCLE类等三个图形类,后写了一个继承于CObArray的列表类CMapList类用来存储图形来达到重绘的目的。 CGraphic类 模块名称 图形基类 功能描述 各个图形的基类,图形的绘制、图形的放大与缩小、图形起始点的控制 接口与属性 数据结构 与算法 CGraphic::CGraphic() { m_isSelected = false; //初始值为假 } CGraphic::~CGraphic() { } void CGraphic::SetStartPoint(CPoint point)//设置起点 { m_StartPoint = point; } void CGraphic::SetEndPoint(CPoint point)//设置重点 { m_EndPoint = point; } CPoint CGraphic::GetStartPoint()//获取起点 { return m_StartPoint; } CPoint CGraphic::GetEndPoint()//获取终点 { return m_EndPoint; } void CGraphic::draw(CDC* pDC)//图形绘制 {} int CGraphic::GetType()//获取图形的类型 { return 0; } void CGraphic::SetBound()//设置图形的矩形区域 { if(m_StartPoint.x m_EndPoint.x) { m_left = m_StartPoint.x ; m_right = m_EndPoint.x; } else { m_left = m_EndPoint.x; m_right = m_StartPoint.x ; } if(m_StartPoint.y m_EndPoint.y) { m_top = m_StartPoint.y; m_bottom = m_EndPoint.y; } else { m_top = m_EndPoint.y; m_bottom = m_StartPoint.y; } } BOOL CGraphic::IsSelected(CPoint point) //图形选择 { if(point.x m_left || point.x m_right || point.y m_top || point.y m_bottom) return false; else return true; } void CGraphic::Zoomln(int blc)//图形放大 { CPoint sp = GetStartPoint(); CPoint ep = GetEndPoint(); ep.x = (ep.x - sp.x)*blc + sp.x; ep.y = (ep.y - sp.y)*blc + sp.y; SetStartPoint(sp); SetEndPoint(ep); SetBound(); } void CGraphic::ZoomOut(int blc)//图形缩小 { CPoint sp = GetStartPoint(); CPoint ep = GetEndPoint(); ep.x = (ep.x - sp.x)/blc + sp.x; ep.y = (ep.y - sp.y)/blc + sp.y; SetStartPoint(sp); SetEndPoint(ep); SetBound(); } 补充说明 C

文档评论(0)

134****7356 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档