drawtool.h

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

H
71
字号
#pragma once

#ifndef __DRAWTOOL_H__
#define __DRAWTOOL_H__

class CVisDrawView;
//交互图形类型
enum DrawShape{
		
        pointTool,
		lineTool,
		hlineTool,			//水平直线
		vlineTool,          //垂直线
		rectTool,
		roundRectTool,
		ellipseTool,
        circleTool,
        tparcTool,
		secarcTool,
		csearcTool,
		polylineTool,
        polygonTool,
        spliteTool,
        textTool,
		selectTool,
		cheTool,	
		baoTool,
		xiTool,
		moTool,
		tangTool,
		zuanTool,
		chongTool,
		juTool,
		zhongxinTool,
		zhewanTool
};

class CDrawTool
{
public:
	CDrawTool(void);
	CDrawTool(DrawShape nDrawShape);
	~CDrawTool(void);

//成员函数
	//重载
	virtual void OnLButtonDown(CVisDrawView* pView, UINT nFlags, const CPoint& point);//左键操作
	virtual void OnLButtonUp(CVisDrawView* pView, UINT nFlags, const CPoint& point);
	virtual void OnMouseMove(CVisDrawView* pView, UINT nFlags, const CPoint& point);
	virtual void OnLButtonDblClk(CVisDrawView* pView, UINT nFlags, const CPoint& point);
	virtual void OnRButtonDown(CVisDrawView* pView, UINT nFlags, const CPoint& point);

	virtual void CreateObj(CVisDrawView* pView, const CPoint& point) = 0;

//属性
	static CDrawTool* FindTool(DrawShape drawShape); //对象查找

	//鼠标句柄
	DrawShape m_drawShape;
	static DrawShape c_drawShape;
	static CPtrList c_tools;
	CPoint lastPoint, prePoint;	

protected:
	int m_LMouseDownStep;

public:
	virtual void OnEditProperties(CVisDrawView* pView);
};

#endif // __DRAWTOOL_H__

⌨️ 快捷键说明

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