DRAWTOOL.H
上传用户:sesekoo
上传日期:2020-07-18
资源大小:21543k
文件大小:3k
- // drawtool.h - interface for CDrawTool and derivatives
- //
- // This is a part of the Microsoft Foundation Classes C++ library.
- // Copyright (C) 1992-1998 Microsoft Corporation
- // All rights reserved.
- //
- // This source code is only intended as a supplement to the
- // Microsoft Foundation Classes Reference and related
- // electronic documentation provided with the library.
- // See these sources for detailed information regarding the
- // Microsoft Foundation Classes product.
- #ifndef __DRAWTOOL_H__
- #define __DRAWTOOL_H__
- #include "drawobj.h"
- class CDrawView;
- enum DrawShape
- {
- selection,
- line,
- rect,
- roundRect,
- ellipse,
- poly
- };
- class CDrawTool
- {
- // Constructors
- public:
- CDrawTool(DrawShape nDrawShape);
- // Overridables
- virtual void OnLButtonDown(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnLButtonDblClk(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnLButtonUp(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnMouseMove(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnEditProperties(CDrawView* pView);
- virtual void OnCancel();
- // Attributes
- DrawShape m_drawShape;
- static CDrawTool* FindTool(DrawShape drawShape);
- static CPtrList c_tools;
- static CPoint c_down;
- static UINT c_nDownFlags;
- static CPoint c_last;
- static DrawShape c_drawShape;
- };
- class CSelectTool : public CDrawTool
- {
- // Constructors
- public:
- CSelectTool();
- // Implementation
- virtual void OnLButtonDown(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnLButtonDblClk(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnLButtonUp(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnMouseMove(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnEditProperties(CDrawView* pView);
- };
- class CRectTool : public CDrawTool
- {
- // Constructors
- public:
- CRectTool(DrawShape drawShape);
- // Implementation
- virtual void OnLButtonDown(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnLButtonDblClk(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnLButtonUp(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnMouseMove(CDrawView* pView, UINT nFlags, const CPoint& point);
- };
- class CPolyTool : public CDrawTool
- {
- // Constructors
- public:
- CPolyTool();
- // Implementation
- virtual void OnLButtonDown(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnLButtonDblClk(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnLButtonUp(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnMouseMove(CDrawView* pView, UINT nFlags, const CPoint& point);
- virtual void OnCancel();
- CDrawPoly* m_pDrawObj;
- };
- ////////////////////////////////////////////////////////////////////////////
- #endif // __DRAWTOOL_H__