UND_Move.cpp
上传用户:lj3531212
上传日期:2007-06-18
资源大小:346k
文件大小:2k
源码类别:

绘图程序

开发平台:

Visual C++

  1. // UND_Move.cpp: implementation of the CUND_Move class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "graphsoft.h"
  6. #include "UND_Move.h"
  7. #include "Core.h"
  8. #include "GraphDefines.h"
  9. #ifdef _DEBUG
  10. #undef THIS_FILE
  11. static char THIS_FILE[]=__FILE__;
  12. #define new DEBUG_NEW
  13. #endif
  14. //////////////////////////////////////////////////////////////////////
  15. // Construction/Destruction
  16. //////////////////////////////////////////////////////////////////////
  17. CUND_Move::CUND_Move()
  18. {
  19. CString str;
  20. str.LoadString(IDS_MOVE);
  21. SetTitle(str);
  22. m_pSMove=NULL;
  23. }
  24. CUND_Move::CUND_Move(void* pVoid)
  25. {
  26. m_pSMove=NULL;
  27. m_pSMove=(SUNDMove*)pVoid;
  28. CString str;
  29. str.LoadString(IDS_MOVE);
  30. SetTitle(str);
  31. }
  32. CUND_Move::~CUND_Move()
  33. {
  34. if(m_pSMove!=NULL)
  35. delete m_pSMove;
  36. m_pSMove=NULL;
  37. }
  38. void CUND_Move::Destroy()
  39. {
  40. }
  41. BOOL CUND_Move::OnEditUndo(CCore *pCore)
  42. {
  43. int nShapeNum=m_pSMove->ArrId.GetSize();
  44. CShape* pShape;
  45. CDC* pDC=CDC::FromHandle(GetDC(pCore->m_pView->GetSafeHwnd()));
  46. for(int i=0;i<nShapeNum;i++){
  47. pShape=pCore->GetShapeByID(m_pSMove->ArrId.GetAt(i));
  48. pCore->DrawGraph(pShape,FALSE);
  49. pShape->Move(pDC,-m_pSMove->nStepX,-m_pSMove->nStepY);
  50. pCore->DrawGraph(pShape,TRUE);
  51. }
  52. return TRUE;
  53. }
  54. BOOL CUND_Move::OnEditRedo(CCore *pCore)
  55. {
  56. int nShapeNum=m_pSMove->ArrId.GetSize();
  57. CShape* pShape;
  58. CDC* pDC=CDC::FromHandle(GetDC(pCore->m_pView->GetSafeHwnd()));
  59. for(int i=0;i<nShapeNum;i++){
  60. pShape=pCore->GetShapeByID(m_pSMove->ArrId.GetAt(i));
  61. pCore->DrawGraph(pShape,FALSE);
  62. pShape->Move(pDC,m_pSMove->nStepX,m_pSMove->nStepY);
  63. pCore->DrawGraph(pShape,TRUE);
  64. }
  65. return TRUE;
  66. }
  67. BOOL CUND_Move::OutputLog(CCore *pCore) 
  68. //未做
  69. return false; 
  70. }