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

CAD

开发平台:

Visual C++

  1. // Trigon.h: interface for the CTrigon class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_TRIGON_H__06700922_C919_4A62_BE02_033B4EC679E2__INCLUDED_)
  5. #define AFX_TRIGON_H__06700922_C919_4A62_BE02_033B4EC679E2__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. static int m_angle = 30;
  10. #include "Shape.h"
  11. enum STATUS { NoClicked, FirstClicked, SecondClicked, ThirdClicked};
  12. class CTrigon : public CShape
  13. {
  14. public:
  15. void KillRound(CDC *pDC);
  16. void SetAngle(int angle);
  17. void Delete(CDC *pDC);
  18. void SetPosEnd(CPoint point);
  19. void SetPosCenter(CPoint point);
  20. void SetPosBegin(CPoint point);
  21. CPoint GetPosEnd();
  22. CPoint GetPosCenter();
  23. CPoint GetPosBegin();
  24. CTrigon();
  25. virtual ~CTrigon();
  26. virtual void OnLbuttondown(CDC *pDC,CPoint point);
  27. virtual void Onmousemove(CDC *pDC,CPoint point);
  28. virtual void Draw(CDC *pDC);
  29. void DrawOnSedPtDown(CDC *pDC);
  30. int Distance(POINT Pt1, POINT Pt2);
  31. bool IsOnTrigon(POINT curPt);
  32. void DrawRound(CDC *pDC,COLORREF colorRound = RGB(255,0,0));
  33. bool Select(CDC *pDC,CPoint point);
  34. bool SelectOnePt(CDC *pDC,CPoint point);
  35. void DrawMove(CDC *pDC,POINT FirstPt, POINT SecondPt, POINT ThirdPt,
  36. POINT FirstOldPt, POINT SecondOldPt, POINT ThirdOldPt);
  37. void Move(CDC *pDC,CPoint point);
  38. POINT GetMirPt(const POINT& ptBegin, const POINT& ptEnd,POINT ptCur);
  39. void OnMirLBtnDn(CDC *pDC,CPoint point);
  40. void DrawMirLine(CDC *pDC,POINT MirBegPt, POINT MirEndPt);
  41. void KillMirLine(CDC *pDC);
  42. void Mirror(CDC *pDC,CPoint point);
  43. void Update(CDC *pDC);
  44. void Zoom(CDC *pDC,CPoint point);
  45. void Rotate(CDC *pDC,CPoint point);
  46. POINT CalRotatePt(POINT ptCenter,POINT ptPos,double dbAngle);
  47. POINT CaleSignPt(POINT centPt, POINT orderPt);
  48. protected:
  49. POINT m_firstPt;
  50. POINT m_secondPt;
  51. POINT m_thirdPt;
  52. bool blntemp;       //保存镜像点状态
  53. POINT m_oldPt;
  54.     
  55. POINT m_FirstMirPt;   //镜像后的点
  56. POINT m_SecondMirPt;
  57. POINT m_ThirdMirPt;
  58. POINT m_MirBegPt;     //镜像直线起点
  59. POINT m_MirEndPt;
  60. bool KILLRECT;
  61. STATUS m_status;
  62. };
  63. #endif // !defined(AFX_TRIGON_H__06700922_C919_4A62_BE02_033B4EC679E2__INCLUDED_)