Line1.h
上传用户:ckg1000
上传日期:2013-01-26
资源大小:630k
文件大小:2k
源码类别:

CAD

开发平台:

Visual C++

  1. // Line1.h: interface for the CLine class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_LINE1_H__2B80900E_3B87_41D1_BC24_6A73C8E523EB__INCLUDED_)
  5. #define AFX_LINE1_H__2B80900E_3B87_41D1_BC24_6A73C8E523EB__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. enum STATE{noClick, Clicked};
  10. #include "shape.h"
  11. extern int m_angle;
  12. class CLine : public CShape  
  13. {
  14. public:
  15. CLine();
  16. virtual ~CLine();
  17. public:
  18. STATE m_toolState; //工具状态
  19. POINT m_ptBeginPos; //起始点坐标
  20. POINT m_ptEndPos; //结束点坐标
  21. POINT m_ptOldPos;
  22. bool KILLRECT;
  23. POINT m_MirBegPt;     //镜像直线起点
  24. POINT m_MirEndPt;
  25. POINT m_oldPt;
  26. POINT m_FirstMirPt;   //镜像后的点
  27. POINT m_SecondMirPt;
  28. bool blnlinetemp;       //保存镜像点状态
  29. public:
  30. void SetAngle(int m_angle);
  31. void Update(CDC *pDC);
  32. void OnMirLBtnDn(CDC *pDC,CPoint point);
  33. POINT GetMirPt(const POINT& ptBegin, const POINT& ptEnd,POINT ptCur);
  34. void KillMirLine(CDC *pDC);
  35. void DrawMirLine(CDC *pDC,POINT MirBegPt, POINT MirEndPt);
  36. void Mirror(CDC *pDoc,CPoint point);
  37. bool SelectOnePt(CDC *pDC,CPoint point);
  38. void Zoom(CDC *pDoc,CPoint point);
  39. void Rotate(CDC *pDC,CPoint point);
  40. void Move(CDC *pDoc,CPoint point);
  41. void SetPosEnd(CPoint point);
  42. void SetPosBegin(CPoint);
  43. int Distance(POINT ptPos1, POINT ptPos2);
  44. bool pick(POINT pt);
  45. CPoint GetPosEnd();
  46. CPoint GetPosBegin();
  47.     virtual void OnLbuttondown(CDC *pDC,CPoint point);
  48. virtual void Onmousemove(CDC *pDC,CPoint point);
  49. virtual void Draw(CDC *pDC);
  50. bool Select(CDC *pDC,CPoint point);
  51. void DrawRect(CDC *pDC);
  52. POINT CalRotatePt(POINT ptCenter,POINT ptPos,double dbAngle);
  53. void Delete(CDC *pDC);
  54. };
  55. #endif // !defined(AFX_LINE1_H__2B80900E_3B87_41D1_BC24_6A73C8E523EB__INCLUDED_)