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

CAD

开发平台:

Visual C++

  1. // LineTool.cpp: implementation of the CLineTool class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "CAD2006.h"
  6. #include "LineTool.h"
  7. #ifdef _DEBUG
  8. #undef THIS_FILE
  9. static char THIS_FILE[]=__FILE__;
  10. #define new DEBUG_NEW
  11. #endif
  12. //////////////////////////////////////////////////////////////////////
  13. // Construction/Destruction
  14. //////////////////////////////////////////////////////////////////////
  15. CLineTool::CLineTool()
  16. {
  17. }
  18. CLineTool::~CLineTool()
  19. {
  20. }
  21. void CLineTool::Draw(CDC *pDC)
  22. {
  23. }
  24. void CLineTool::OnLButtonDown(CPoint point)
  25. {
  26. POINT currentPos; //当前鼠标坐标
  27. currentPos.x = point.x;
  28. currentPos.y = point.y;
  29. switch(m_toolState)
  30. {
  31. case noClick: //工具状态为noClick时
  32. {
  33. //确定(一次画线行为) 的起始点坐标 m_ptBeginPos
  34. m_ptBeginPos = m_ptOldPos = point;
  35. //状态转换为clicked
  36. m_toolState = Clicked;
  37. }
  38. break;
  39. case Clicked: //工具状态为Clicked时
  40. {
  41. //确定(一次画线行为) 的结束点坐标 m_ptEndPos
  42. m_ptEndPos = point;
  43. //状态转换为noClick
  44. m_toolState = noClick;
  45. }
  46. break;
  47. }
  48. }
  49. //响应WM_MOUSEMOVE消息
  50. void CLineTool::OnMouseMove(CDC *pDC,CPoint point)
  51. {
  52. POINT currentPos; //当前鼠标坐标
  53. currentPos.x = point.x;
  54. currentPos.y = point.y;
  55. m_ptEndPos = point;
  56. if(m_toolState == Clicked)
  57. {
  58. Draw(CDC *pDC);
  59. m_ptOldPos = point;
  60. }
  61. }