- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)