📄 vecdrawdoc.h
字号:
// VecDrawDoc.h : interface of the CVecDrawDoc class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_VECDRAWDOC_H__6DC611C3_D353_48E9_8200_A5AE837C3F76__INCLUDED_)
#define AFX_VECDRAWDOC_H__6DC611C3_D353_48E9_8200_A5AE837C3F76__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
double Distance(CPoint p1,CPoint p2);
void DrawChoose(CDC *pDC,CPoint p1,CPoint p2,COLORREF color);
class CDraw:public CObject
{
protected:
COLORREF m_ColorPen;
int m_ColorBrush;
int m_LineWide;
int m_LineType;
int m_Layer;
int b_Delete;
int m_ID_Only;
DECLARE_SERIAL(CDraw);
public:
int b_Select;
CDraw () {};
CDraw(COLORREF ColorPen,int ColorBrush,int LineWide,int LineType,int Layer,int Delete,int ID_Only);
virtual void Draw(CDC *pDC,COLORREF color);
virtual void CurDraw(CDC *pDC,COLORREF color);
virtual bool SelectObject(CPoint pnt);
virtual void Serialize(CArchive &ar);
virtual double IsPoint(CPoint pnt);
virtual void Offset(int x1,int y1);
COLORREF GetColor();
void SetColor(COLORREF color);
};
class CSave:public CDraw
{
protected:
int VectorType;
int Index;
DECLARE_SERIAL(CSave);
CSave(){};
public:
CSave(int vT,int vI);
int GetType();
int GetIndex();
virtual void Serialize(CArchive &ar);
};
class CLine:public CDraw
{
protected:
CPoint m_FirstPoint;
CPoint m_SecondPoint;
DECLARE_SERIAL(CLine);
CLine(){};
public:
CLine(CPoint p1,CPoint p2);
CLine(CPoint p1,CPoint p2,COLORREF color);
CLine(COLORREF ColorPen,int ColorBrush,int LineWide,int LineType,int Layer,int Delete,int ID_Only,CPoint FirstPoint,CPoint SecondPoint);
virtual void Draw(CDC *pDC,COLORREF color);
virtual void CurDraw(CDC *pDC,COLORREF color);
virtual bool SelectObject(CPoint pnt);
virtual void Serialize(CArchive &ar);
virtual double IsPoint(CPoint pnt);
virtual void Offset(int x1,int y1);
};
class CRectAngle:public CDraw
{
protected:
CPoint m_FirstPoint;
CPoint m_SecondPoint;
DECLARE_SERIAL(CRectAngle);
CRectAngle(){};
public:
CRectAngle(CPoint p1,CPoint p2);
CRectAngle(CPoint p1,CPoint p2,COLORREF color);
CRectAngle(COLORREF ColorPen,int ColorBrush,int LineWide,int LineType,int Layer,int Delete,int ID_Only,CPoint FirstPoint,CPoint SecondPoint);
virtual void Draw(CDC *pDC,COLORREF color);
virtual void CurDraw(CDC *pDC,COLORREF color);
virtual bool SelectObject(CPoint pnt);
virtual void Serialize(CArchive &ar);
virtual double IsPoint(CPoint pnt);
virtual void Offset(int x1,int y1);
};
class CCircle:public CDraw
{
protected:
CPoint m_CentrePoint;
double m_Radius;
DECLARE_SERIAL(CCircle);
CCircle(){};
public:
CCircle(CPoint CentrePoint,int R);
CCircle(CPoint CentrePoint,int R,COLORREF color);
CCircle(CPoint CentrePoint,CPoint Arc,COLORREF color);
CCircle(COLORREF ColorPen,int ColorBrush,int LineWide,int LineType,int Layer,int Delete,int ID_Only,CPoint CentrePoint,int R);
virtual void Draw(CDC *pDC,COLORREF color);
virtual void CurDraw(CDC *pDC,COLORREF color);
virtual bool SelectObject(CPoint pnt);
virtual void Serialize(CArchive &ar);
virtual double IsPoint(CPoint pnt);
virtual void Offset(int x1,int y1);
};
class CRectFill:public CDraw
{
protected:
CPoint m_FirstPoint;
CPoint m_SecondPoint;
DECLARE_SERIAL(CRectFill);
CRectFill(){};
public:
CRectFill(CPoint p1,CPoint p2);
CRectFill(CPoint p1,CPoint p2,COLORREF color);
CRectFill(COLORREF ColorPen,int ColorBrush,int LineWide,int LineType,int Layer,int Delete,int ID_Only,CPoint FirstPoint,CPoint SecondPoint);
virtual void Draw(CDC *pDC,COLORREF color);
virtual void CurDraw(CDC *pDC,COLORREF color);
virtual bool SelectObject(CPoint pnt);
virtual void Serialize(CArchive &ar);
virtual double IsPoint(CPoint pnt);
virtual void Offset(int x1,int y1);
};
class CText:public CDraw
{
protected:
CPoint m_Postion;
CString m_Str;
DECLARE_SERIAL(CText);
CText(){};
public:
CText(CPoint p1,CString str);
CText(CPoint p1,CString str,COLORREF color);
CText(COLORREF ColorPen,int ColorBrush,int LineWide,int LineType,int Layer,int Delete,int ID_Only,CPoint p1,CString str);
virtual void Draw(CDC *pDC,COLORREF color);
virtual void CurDraw(CDC *pDC,COLORREF color);
virtual bool SelectObject(CPoint pnt);
virtual void Serialize(CArchive &ar);
virtual double IsPoint(CPoint pnt);
virtual void Offset(int x1,int y1);
};
/*
class CRectRound:public CDraw
{
protected:
DECLARE_SERIAL(CRectRound);
CRectRound(){};
public:
virtual void Serialize(CArchive &ar);
};
class CRectRoundFill:public CDraw
{
protected:
DECLARE_SERIAL(CRectRoundFill);
CRectRoundFill(){};
public:
virtual void Serialize(CArchive &ar);
};
class CCircleFill:public CDraw
{
protected:
DECLARE_SERIAL(CCircleFill);
CCircleFill(){};
public:
virtual void Serialize(CArchive &ar);
};
*/
class CVecDrawDoc : public CDocument
{
protected: // create from serialization only
CVecDrawDoc();
DECLARE_DYNCREATE(CVecDrawDoc)
private:
CTypedPtrArray<CObArray,CSave*>m_SaveArray;
CTypedPtrArray<CObArray,CLine*>m_LineArray;
CTypedPtrArray<CObArray,CRectAngle*>m_RectArray;
// CTypedPtrArray<CObArray,CRectRound*>m_RectRoundArray;
CTypedPtrArray<CObArray,CCircle*>m_CircleArray;
CTypedPtrArray<CObArray,CRectFill*>m_RectFillArray;
// CTypedPtrArray<CObArray,CRectRoundFill*>m_RectRoundFillArray;
// CTypedPtrArray<CObArray,CCircleFill*>m_CircleFillArray;
CTypedPtrArray<CObArray,CText*>m_TextArray;
// Attributes
public:
// Operations
public:
void AddSave(int vT,int vI);
CLine *AddLine(CPoint P1,CPoint P2);
CLine *AddLine(CPoint p1,CPoint p2,COLORREF color);
CRectAngle *AddRect(CPoint P1,CPoint P2);
CRectAngle *AddRect(CPoint P1,CPoint P2,COLORREF color);
CCircle *AddCircle(CPoint P1,int R);
CCircle *AddCircle(CPoint p1,int R,COLORREF color);
CRectFill *AddRectFill(CPoint P1,CPoint P2);
CRectFill *AddRectFill(CPoint P1,CPoint P2,COLORREF color);
CText *AddText(CPoint P1,CString str);
CText *AddText(CPoint P1,CString str,COLORREF color);
CDraw *GetGraph(int vType,int index);
CSave *GetSaveOrder(int index);
// CLine *GetGraph(int Index,int vType);
int GetGraphNumb(int vType);
void DeleteSave(int vType,int index);
void AddGraph(int vType,int index);
int GetSaveSize();
void Draw(CDC *pDC,int vType);
void Draw(CDC *pDC,int vType,int vIndex);
void SetMode(CDC *pDC);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CVecDrawDoc)
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CVecDrawDoc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
int SerialFlag;
// Generated message map functions
protected:
//{{AFX_MSG(CVecDrawDoc)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_VECDRAWDOC_H__6DC611C3_D353_48E9_8200_A5AE837C3F76__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -