⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 book.h

📁 用c++编写的简单的绘图程序
💻 H
字号:
#include "Resource.h"
#include "math.h"

/*typedef struct tagShape{
	COLORREF shapeColor;
	int   borbarScal;  
	bool  ifFill;
    long  objectId;
	CString  objectName;
	int shapeType;
    long x1,y1,x2,y2,x3,y3,x4,y4;
    CPoint center;
}STShape,*PSTShape;*/

//图形类
//为所有图形的基类chen
class CShape:public CObject{
private:
	COLORREF shapeColor;//图形颜色
	int   borbarScal;//边框大小  
	bool  ifFill;//填充情况
    long  objectId;//ID
	CString  objectName;//名称
	int shapeType;//图形类型
public:
    long x1,y1,x2,y2,x3,y3,x4,y4;//四点
    CPoint center;//中心

       CShape(COLORREF color=BLACK,int borScal=BORDAR_SMALL,
		  bool fill=false,long  id=0,CString name="")
	   {
          center.x=center.y=x1=y1=x2=y2=x3=y3=x4=y4=0;
          shapeColor=color;
          borbarScal=borScal;
          ifFill=fill;
          objectId=id;
          objectName=name;
          shapeType=0;
	   }
	~CShape(){}
	//设置成员函数
	void SetShapeColor(COLORREF color)	{shapeColor=color;}
	void SetBorbarScal(int borScal) {borbarScal=borScal;}
	void SetIfFill(bool fill){ ifFill=fill;}
	void SetName(CString name){objectName=name;}
	void SetId(long  id){objectId=id;}
	void SetCenter(CPoint ctr){center.x=ctr.x;center.y=ctr.y;}
	void SetShapeType(int type){shapeType=type;}

	//获取成员函数
	COLORREF GetShapeColor(){return shapeColor;}
	int GetBorbarScal() {	return borbarScal;}
	bool GetIfFill()  {	return ifFill;}
	long  GetId(){return objectId;}
	CString GetName(){return objectName;}
	CPoint GetCenter( ){return center;}
	int GetShapeType(){return shapeType;}

    //重载运算符(=)
	void operator=(CShape* obj);
	void operator=(CShape& obj);

    //创建方法
	virtual void Draw(CDC* pDC) {};
	virtual void MoveAt(CDC* pDC, long x, long y) {};
	virtual void NewPoint(long x, long y){};
    //编辑方法
	virtual void Activation(CDC* pDC,COLORREF typeColor) {};   
	virtual void Delete(CDC* pDC,COLORREF bkColor) {};
	virtual void SizeScal(int mode){};
	virtual void MoveShape(int direction){};
	virtual void Circumrotate(int cock_drt){};

};

//直线类
class CLine:public CShapezhi
{
public:
    CLine(){}
	CLine(COLORREF color,int borScal):CShape(color,borScal)
	{  SetShapeType(ID_SHAPE_STR_LINE);}

  void Draw(CDC* pDC) ;
  void MoveAt(CDC* pDC, long x, long y) ; 
  void NewPoint(long x, long y);

  void Activation(CDC* pDC,COLORREF typeColor);
  void Delete(CDC* pDC,COLORREF bkColor) ;
   void SizeScal(int mode);
  void MoveShape(int direction);
  void Circumrotate(int cock_drt);
};



//矩形类
class CRectangle:public CShape
{

public:
	CRectangle(COLORREF color,int borScal,bool fill):CShape(color,borScal,fill)
	{       SetShapeType(ID_SHAPE_RECTANGLE);}

  void Draw(CDC* pDC) ;
  void MoveAt(CDC* pDC, long x, long y) ; 
  void  NewPoint(long x, long y);

  void Activation(CDC* pDC,COLORREF typeColor);
  void Delete(CDC* pDC,COLORREF bkColor) ;
   void SizeScal(int mode);
  void MoveShape(int direction);
  void Circumrotate(int cock_drt);
};

//正方形类
class CSquare:public CShape
{

public:
	CSquare(COLORREF color,int borScal,bool fill):CShape(color,borScal,fill)
	{       SetShapeType(ID_SHAPE_SQUARE);}
  void Draw(CDC* pDC) ;
  void MoveAt(CDC* pDC, long x, long y) ; 
  void  NewPoint(long x, long y);

  void Activation(CDC* pDC,COLORREF typeColor);
  void Delete(CDC* pDC,COLORREF bkColor);
   void SizeScal(int mode);
  void MoveShape(int direction);
  void Circumrotate(int cock_drt);
};

//椭圆类
class CEllipse : public CShape
{
public:
	CEllipse(COLORREF color,int borScal,bool fill):CShape(color,borScal,fill)
	{       SetShapeType(ID_SHAPE_ELLIPSE);}
	void MoveAt(CDC* pDC, long x, long y);
	void  NewPoint(long x, long y);
	void  Draw(CDC* pDC);

    void Activation(CDC* pDC,COLORREF typeColor);
    void Delete(CDC* pDC,COLORREF bkColor);
   void SizeScal(int mode);
    void MoveShape(int direction);
    void Circumrotate(int cock_drt);
};

//圆类
class CCircle : public CShape
{
public:
	CCircle(COLORREF color,int borScal,bool fill):CShape(color,borScal,fill)
	{       SetShapeType(ID_SHAPE_CIRCLE);}
	void MoveAt(CDC* pDC, long x, long y);
	void  NewPoint(long x, long y);
	void  Draw(CDC* pDC);

    void Activation(CDC* pDC,COLORREF typeColor);
	void Delete(CDC* pDC,COLORREF bkColor);
   void SizeScal(int mode);
    void MoveShape(int direction);
    void Circumrotate(int cock_drt);
};

//三角形类
class CTriangle : public CShape
{
public:
	CTriangle(COLORREF color,int borScal,bool fill):CShape(color,borScal,fill)
	{      SetShapeType(ID_SHAPE_TRIANGLE);}
	void MoveAt(CDC* pDC, long x, long y);
	void  NewPoint(long x, long y);
	void  Draw(CDC* pDC);

    void Activation(CDC* pDC,COLORREF typeColor);
	void Delete(CDC* pDC,COLORREF bkColor);
   void SizeScal(int mode);
    void MoveShape(int direction);
    void Circumrotate(int cock_drt);
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -