www.pudn.com > CHA03.rar   To Read all the content


[file head]:
// DrawTool.h: interface for the CDrawTool class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DRAWTOOL_H__67B343D6_9A89_4CAD_A4B9_2EEF72C5EF10__INCLUDED_)
#define AFX_DRAWTOOL_H__67B343D6_9A89_4CAD_A4B9_2EEF72C5EF10__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "drawobj.h"
class CDrawView;

enum DrawShape
{
selection,
line,
rect,
roundRect,
ellipse,
circle,
poly
};

class CDrawTool
{
// Constructors
public:
CDrawTool(DrawShape nDrawShape);

// Overridables
virtual void OnLButtonDown(CDrawView* pView, UINT nFlags, const CPoint&amt; point);
virtual void OnLButtonDblClk(CDrawView* pView, UINT nFlags, const CPoint&amt; point);
virtual void OnLButtonUp(CDrawView* pView, UINT nFlags, const CPoint&amt; point);
virtual void OnMouseMove(CDrawView* pView, UINT nFlags, const CPoint&amt; point);
virtual void OnEditProperties(CDrawView* pView);
virtual void OnCancel();

// At
... ...

[file tail]:
... ...
c CDrawTool
{
// Constructors
public:
CSelectTool();

// Implementation
virtual void OnLButtonDown(CDrawView* pView, UINT nFlags, const CPoint&amt; point);
virtual void OnLButtonDblClk(CDrawView* pView, UINT nFlags, const CPoint&amt; point);
virtual void OnLButtonUp(CDrawView* pView, UINT nFlags, const CPoint&amt; point);
virtual void OnMouseMove(CDrawView* pView, UINT nFlags, const CPoint&amt; 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&amt; point);
virtual void OnLButtonDblClk(CDrawView* pView, UINT nFlags, const CPoint&amt; point);
virtual void OnLButtonUp(CDrawView* pView, UINT nFlags, const CPoint&amt; point);
virtual void OnMouseMove(CDrawView* pView, UINT nFlags, const CPoint&amt; point);
};

#endif // !defined(AFX_DRAWTOOL_H__67B343D6_9A89_4CAD_A4B9_2EEF72C5EF10__INCLUDED_)