📄 tool.h
字号:
// Tool.h: interface for the CTool class.
//
#include "shape.h"
#include "DrawInPDAView.h"
class CDrawInPDAView;
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_TOOL_H__484914A8_E858_42B0_B25A_8413696DD309__INCLUDED_)
#define AFX_TOOL_H__484914A8_E858_42B0_B25A_8413696DD309__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
enum eSelectMode
{
smNone,
smSelect,
smMove
};
enum eToolType
{
ttNone, // 空
ttSelect, // 选择
ttDrawPoint, // 绘制点
ttDrawLine, // 绘制线(两端点)
ttDrawRectangle, // 绘制矩形
ttDrawPolygon, // 绘制多边形区域
ttDrawPoly,
ttZoom,
ttZoomIn,
ttMove
};
/////////////////////
class CTool
{
public:
CTool();
virtual ~CTool();
virtual void OnCancel();
virtual void OnMouseMove(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonUp(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonDblClk(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonDown(CDrawInPDAView* pView,UINT nFlags,const CPoint& point);
CTool(eToolType ATool);
public:
static enum eToolType c_CurrentTool;
static CPoint c_LastPoint;
static UINT c_nDownFlags;
static CPoint c_DownPoint;
static CPtrList c_ToolList;
static CTool *FindTool(enum eToolType ATool );
enum eToolType m_Tool;
};
class CToolPoly : public CTool
{
public:
bool bFirstClick;
CShapePoly* m_Poly;
virtual void OnLButtonDblClk(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonUp(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnMouseMove(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonDown(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
CToolPoly();
virtual ~CToolPoly();
};
class CToolSelect : public CTool
{
// Constructors
public:
CToolSelect();
virtual void OnLButtonDown(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonDblClk(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonUp(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnMouseMove(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
bool m_bSecondClick;
};
////////////////
class CToolPoint : public CTool
{
public:
CShapePoint* m_Point;
virtual void OnMouseMove(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonUp(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonDblClk(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonDown(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
CToolPoint();
~CToolPoint();
};
///////
class CToolLine : public CTool
{
public:
bool bFirstClick;
CShapeLine* m_Line;
virtual void OnLButtonDblClk(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonUp(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnMouseMove(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonDown(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
CToolLine();
~CToolLine();
};
///////////////////////////
class CToolRectangle : public CTool
{
public:
long m_nClick;
CShapeRectangle* m_pShape;
virtual void OnLButtonDblClk(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonUp(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnMouseMove(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
virtual void OnLButtonDown(CDrawInPDAView* pView, UINT nFlags, const CPoint& point);
CToolRectangle();
virtual ~CToolRectangle();
};
#endif // !defined(AFX_TOOL_H__484914A8_E858_42B0_B25A_8413696DD309__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -