逻辑与类设计60页Word下载.docx
《逻辑与类设计60页Word下载.docx》由会员分享,可在线阅读,更多相关《逻辑与类设计60页Word下载.docx(60页珍藏版)》请在冰豆网上搜索。
光标、直线、圆、椭圆、矩形、圆角矩形、多边形、圆弧、椭圆弧、曲线、随手画、文本等。
图项目工作空间视图
表1软件类表
图元类
CUnit
图元基类
CDline
画直线类
CPolyBezier
画曲线类
CRound
画圆类
CRoundArc
画圆弧类
CEllipse
画椭圆类
CEllipseArc
画椭圆弧类
CRectangle
画矩形类
CRoundRectangle
画圆角矩形类
CPolygon
画多边形类
CCurve
随手画类
CText
文本类
CTextEdit
文本编辑类
全局公共类
CMainFrame
主程序窗口类
CChildFrame
子程序窗口类
CEDrawingView
视图窗口类
CEDrawingApp
应用程序类
CEDrawingDoc
结构数据类
CEditBox
编辑对话框类
CSplashWnd
程序启动窗口类
CReginSet
区域设置对话框类
CStyleBar
图元类型事件类
CDLineProperty
图元属性设置类
CDLineDlg1
风格设定对话框类
CDLineDlg2
颜色设定对话框类
CAboutDlg
关于对话框类
2视图图元类
图图元类图
2.1CUnit类
图形基类,图形单元接口。
2.1.1成员变量
m_PenStyle画笔样式
m_PenWidth画笔宽度
m_BkMode背景模式
m_DrawingMode绘图模式
m_PenColor画笔颜色
m_BrushColor画刷颜色
m_BackgroundColor背景颜色
m_FirstPoint第一个点
m_SecondPoint第二个点
m_ThirdPoint第三个点
m_CenterPoint中心点
m_FourthPoint第四个点
m_FifthPoint第五个点
m_MovingPoint移动点
m_MinPoint最小点
m_MaxPoint最大点
m_IntersectionPointFirst第一个交点
m_IntersectionPointSecond第二个交点
m_BoundingRect选取判断
m_Rgn选取指针
m_PointList点列表指针
m_PointArray点矩阵
m_BrushStyle画刷类型
m_BrushHatch画刷入口
m_FoundIndex查找点编号指示
m_FoundPoint已找到的点
m_Radious半径
m_XrX坐标
m_YrY坐标
m_HaveLBUp左键弹起标记
m_CosCos值
m_SinSin值
m_Sloap1曲径1
m_Sloap2曲径2
m_AngleFirst第一拐角
m_AngleSecond第二拐角
m_HaveFindFirst找到第一点标记
m_pTextEdit文本编辑指针
m_Font字体指针
m_DrawStatus绘图状态
2.1.2成员函数
1.函数名:
CUnit();
简要描述:
无参构造函数
2.函数名:
CUnit(CUnit&
unit);
a)简要描述:
带参构造函数
b)传入参数:
CUnit&
3.函数名:
SetBrushOrg(CDC*pDC,CBrush*brush);
设置画刷。
CDC*,CBrush*
c)返回值类型:
void
4.函数名:
OnMenuitemCirCu(CDC*pDC,CEDrawingView*pView);
菜单项。
CDC*,CEDrawingView*
virtualvoid
5.函数名:
OnMENUITEMSize();
菜单项大小响应函数。
b)返回值类型:
6.函数名:
OnMenuitemOk(CDC*pDC,CEDrawingView*pView);
菜单项OK响应函数。
CDC*,CEDrawingView*
7.函数名:
OnContextMenu(CWnd*pWnd,CPointpoint);
链接菜单函数。
CWnd*,CPoint
8.函数名:
ChangeFontSize(ENUMLOGFONT*lpelf);
改变字体大小函数。
ENUMLOGFONT*
9.函数名:
ChangeFont(ENUMLOGFONT*lpelf);
改变字体函数。
ENUMLOGFONT*
10.函数名:
SetFont(ENUMLOGFONT*lpelf);
设置字体函数。
11.函数名:
OnLButtonDblClk(CDC*pDC,CEDrawingView*pView,CPointpoint);
左键双击响应函数。
CDC*,CEDrawingView*,CPoint
12.函数名:
OnMouseMove(CDC*pDC,CEDrawingView*pView,CPointpoint);
鼠标移动响应函数。
CDC*,CEDrawingView*,CPoint
13.函数名:
ComputeIntersectionPointSecond(CPointpoint);
估算第二插入点函数。
CPoint
virtualCPoint
14.函数名:
ComputeIntersectionPointFirst(CPointpoint);
估算第一插入点函数。
15.函数名:
DrawStaticStepOne(CDC*pDC,CPointmovingPoint);
绘制静态第一步。
CDC*,CPoint
16.函数名:
DrawActiveStepOne(CDC*pDC,CPointmovingPoint);
绘制激活第一步。
CDC*,CPoint
17.函数名:
DrawActive(CDC*pDC,CPointpoint);
绘制激活函数。
18.函数名:
ComputeSloap2(CPointfirstpoint,CPointsecondpoint);
完成曲径连接2。
CPoint,CPoint
virtualdouble
19.函数名:
ComputeSloap1(CPointfirstpoint,CPointsecondpoint);
完成曲径连接1。
CPoint,CPoint
20.函数名:
GetBoundingRect();
获得范围边界。
virtualCRect
21.函数名:
DrawOldReferencePoint(CDC*pDC,CPointpoint);
绘制旧的参考点。
22.函数名:
ShowSelectPoint(CDC*pDC);
显示选中关键点。
CDC*
23.函数名:
ShowMovingLine(CDC*pDC,CPointfirstPoint,CPointsecondPoint);
及时显示移动线。
CDC*,CPoint,CPoint
24.函数名:
ComputRadiusX(CPointfirstPoint,CPointsecondPoint);
计算X坐标差。
virtualint
25.函数名:
ComputRadiusY(CPointfirstPoint,CPointsecondPoint);
计算Y坐标差。
26.函数名:
ComputSloap(CPointfirstPoint,CPointsecondPoint);
计算曲径。
virtualfloat
27.函数名:
EllipseMidpoint(CDC*pDC,intxCenter,intyCenter,intRx,intRy);
计算椭圆中心点。
CDC*,int,int,int,int
28.函数名:
ComputRadious(CPointcenterPoint,CPointmovingPoint);
计算半径。
29.函数名:
ExchangeDraw(CDC*pDC,CPointpoint)