流程设计
类设计
DrawElement类
#pragma once
#include <vector>
using namespace std;
class PaintElement
{
private:std::vector<CPoint> paintLine;COLORREF color;int weight;int mod;
public :void AddPoint(CPoint src);void Set(COLORREF in_color,int in_weight);void DrawPaint(CDC *pDC);
};
class PointElement
{
private:CPoint postion;COLORREF color;int weight;int mod;//线型
public:void CreatPoint(CPoint in_Point, COLORREF in_Color, int in_Weight);void CreatPoint(CPoint in_Point, COLORREF in_Color, int in_Weight, int in_Mod);void DrawPoint(CDC *pDC);
};
class LineElement
{
private:CPoint startPoint;CPoint endPoint;COLORREF color;int weight;int mod;
public ://Set optionvoid CreatLine(CPoint sPoint,CPoint ePoint,COLORREF in_Color,int in_Weight);//Draw Optionvoid LineDraw(CDC *pDC);
};
class RectElement
{
private:CPoint leftUp;CPoint rightDown;COLORREF color;int weight;int mod;
public:void CreatRect(CPoint sPoint, CPoint ePoint, COLORREF in_Color, int in_Weight);void RectDraw(CDC *pDC);
};
class DrawManage
{
private:std::vector<PointElement> pointSet;std::vector<LineElement> lineSet; std::vector<RectElement> rectSet;std::vector<PaintElement>paintSet;//Set Option
public :DrawManage();~DrawManage();//Data Optionvoid SetClear();void PointSetPushBack(PointElement src);void LineSetPushBack(LineElement src);void RectSetPushBack(RectElement src);void PaintSetPushBack(PaintElement src);//Draw Optionvoid SetDraw(CDC *pDC);void PointSetDraw(CDC *pDC);void LineSetDraw(CDC *pDC);void RectSetDraw(CDC *pDC);void PaintSetDraw(CDC *pDC);
};
SeletedMode类
#pragma once
enum UserSelectedMod
{Draw=0,Pick,Erase,Break
};
enum DrawMod
{Point=0,Line,Rect,Circle,Besiel,Paint
};
enum PickMod {};
enum EraseMod {};
enum BreakMod {};
class SelectMod
{public:SelectMod();~SelectMod();public:UserSelectedMod userSelectMod;DrawMod drawMod;//others
};
其他界面类省略
void CSketchpadView::OnDraw(CDC* pDC)
{CSketchpadDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);if (!pDoc)return;//重画所有图集drawManage.SetDraw(pDC);
}
代码链接
本文发布于:2024-02-04 08:28:34,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170703115453963.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |