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

📄 figureobj.h

📁 参数化车间设备资源绘制程序
💻 H
字号:
//FigureObj.h 图形元基类声明文档
#pragma once
#include "afx.h"

class CVisDrawDoc;
class CVisDrawView;


enum DrawObj{
		
  //      pointObj,
		//lineObj,
		//hlineObj,			//水平直线
		//vlineObj,          //垂直线
		//rectObj,
		//roundRectObj,
		//ellipseObj,
  //      circleObj,
  //      tparcObj,
		//secarcObj,
		//csearcObj,
		//polylineObj,
  //      polygonObj,
  //      spliteObj,
  //      textObj,
		//selectObj,
		cheObj,	
		baoObj,
		xiObj,
		moObj,
		tangObj,
		zuanObj,
		chongObj,
		juObj,
		zhongxinObj,
		zhewanObj
};


class CFigureObj :
	public CObject
{

	//CFigureObj(void);
	//~CFigureObj(void);
protected:
	DECLARE_SERIAL(CFigureObj);
	CFigureObj(void);

public:
	//构造函数
	CFigureObj(const CRect& position);
	CFigureObj(DrawObj nDrawObj);
	virtual ~CFigureObj(void);

//实现函数	
	//序列化
	virtual void Serialize(CArchive& ar);
	//绘制
	virtual void Draw(CVisDrawView* pView = NULL, CDC* pDC = NULL);
	//重新计算图形元外接矩形
	virtual CRect CalcBounds(CVisDrawView* pView = NULL);

	virtual int GetHandleCount();
	virtual CPoint GetHandle(CVisDrawView* pView, int nHandle);
	CRect GetHandleRect(int nHandleID, CVisDrawView* pView);
	enum TrackerState { normal, selected, active };
	void DrawTracker(CVisDrawView* pView, CDC* pDC, TrackerState state);

//操作函数
	void Invalidate();
	virtual void Remove();

	virtual BOOL Intersects(CVisDrawView* pView, const CRect& rect);
	virtual BOOL IsSelected(CVisDrawView* pView, const CPoint& point);

    virtual int HitTest(CVisDrawView* pView, CPoint point, BOOL bSelected);


    virtual void MoveHandleTo(int nHandle, CPoint point, CVisDrawView* pView = NULL);
	virtual void MoveTo( CPoint delta, CVisDrawView* pView);

	double PointToPoint(CPoint pt1, CPoint pt2);


	virtual void OnEditProperties();

//属性成员
	//图形元边界矩形,以逻辑坐标表示
	CRect m_position;
	CVisDrawDoc* m_pDocument;

	//设定线的颜色
	virtual void SetLineColor(COLORREF color);
	//设定图形充填颜色
	virtual void SetFillColor(COLORREF color);

	virtual void SetIsBrush(BOOL bBrush){m_bBrush = bBrush;}

//诊断函数
#ifdef _DEBUG
	void AssertValid();
#endif

//添加成员变量
protected:
	BOOL m_bPen;					//是否拾取了画笔
	LOGPEN m_logpen;				//画笔
	BOOL m_bBrush;					//是否拾取了画刷
	LOGBRUSH m_logbrush;			//画刷	

public:
	virtual void OnOpen(CVisDrawView* pView);

	//鼠标句柄
	DrawObj m_drawObj;
	static DrawObj c_drawObj;
	static CPtrList c_objs;
	//CPoint lastPoint, prePoint;	
static CFigureObj* FindObj(DrawObj drawObj); //对象查找

public:
	CString m_MachineModel;
	 CString m_Jcxinghao;
};
typedef CTypedPtrList<CObList, CFigureObj*> CFigureObjList;

⌨️ 快捷键说明

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