rectobj.h

来自「参数化车间设备资源绘制程序」· C头文件 代码 · 共 54 行

H
54
字号
//rectobj.h 矩形类声明文档
#pragma once
#include "figureobj.h"

class CRectObj :
	public CFigureObj
{
	protected:
	DECLARE_SERIAL(CRectObj);
	CRectObj(void);

//下面是构造/析构函数

public:
	CRectObj(const CRect& position);
	virtual ~CRectObj(void);

//下面是实现函数

	//绘制矩形图元
	virtual void Draw(CVisDrawView* pView, CDC* pDC);
	//系列化矩形图元
	virtual void Serialize(CArchive& ar);

//下面是操作函数
	
	//点point到直线nStartPt,nEndPt之间的距离
	double PointToLine(CPoint nStartPt,CPoint nEndPt, CPoint pt);
	//图元被选择判断
	virtual BOOL IsSelected(CVisDrawView* pView, const CPoint& point);
	
	//手柄操作函数
	virtual int GetHandleCount();
	virtual CPoint GetHandle(CVisDrawView* pView, int nHandle);

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


//下面是属性成员变量
private:
	//矩形坐标点
	double m_ltx, m_lty, m_rbx, m_rby;
public:
	//设定坐标点
	void SetPoint(int ptNumber, double x, double y);
	void GetPoint(int ptNumber, double& x, double& y);
	virtual CRect CalcBounds(CVisDrawView* pView);
	//区分直线图元和矩形图元类别的变量
	enum Shape { lineshape,rectshape};
	Shape m_nShape;

};

⌨️ 快捷键说明

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