MoveCircle.cpp
上传用户:hehe2haha
上传日期:2013-08-16
资源大小:161k
文件大小:1k
源码类别:

CAD

开发平台:

Visual C++

  1. // MoveCircle.cpp: implementation of the CMoveCircle class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "MoveCircle.h"
  6. //////////////////////////////////////////////////////////////////////
  7. // Construction/Destruction
  8. //////////////////////////////////////////////////////////////////////
  9. CMoveCircle::CMoveCircle()
  10. {
  11. }
  12. CMoveCircle::~CMoveCircle()
  13. {
  14. }
  15. void CMoveCircle::Move(HDC hdc, int xOffset, int yOffset)
  16. {
  17. int nOldMode = ::SetROP2(hdc,R2_XORPEN);
  18. HPEN hPen    = ::CreatePen( PenStyle,
  19.    PenWidth,
  20.    PenColor^ GetBkColor(hdc) );
  21. HPEN hOldPen = (HPEN)::SelectObject(hdc,hPen);
  22. ::SelectObject(hdc,GetStockObject(NULL_BRUSH));
  23. //求半径
  24. int nRadius = CDraw::Distance(pShape->m_ptFirstPos,pShape->m_ptSecondPos);
  25. //擦去前一次
  26. CDraw::DrawCircle(hdc,pShape->m_ptFirstPos,nRadius);
  27. pShape->m_ptFirstPos.x   += xOffset;
  28. pShape->m_ptFirstPos.y   += yOffset;
  29. pShape->m_ptSecondPos.x  += xOffset;
  30. pShape->m_ptSecondPos.y  += yOffset;
  31. //画出这一次
  32. CDraw::DrawCircle(hdc,pShape->m_ptFirstPos,nRadius);
  33. ::SetROP2(hdc,nOldMode);
  34. ::SelectObject(hdc,hOldPen);
  35. ::DeleteObject(hPen);
  36. }
  37. CMoveCircle::CMoveCircle(CShape *Shape)
  38. {
  39. pShape  = Shape;
  40. }