MyCommand.h
上传用户:netltd
上传日期:2013-02-12
资源大小:7234k
文件大小:1k
源码类别:

绘图程序

开发平台:

Visual C++

  1. #include <afxtempl.h>
  2. /////////////////////////////////////////////////////////////////////////////////////////////
  3. class CMyCommandStruct: public CObject
  4. {
  5. public:
  6. int  m_command;         //操作命令ID号
  7. int  m_num;             //操作命令操作的对象数目
  8. int* m_object;          //图形对象代号,操作命令无对象时为NULL       
  9. int* m_index;           //图形对象在其数列中的序号
  10. public:
  11. CMyCommandStruct(int command, int num, int* object, int* index);
  12. ~CMyCommandStruct();
  13. };
  14. /////////////////////////////////////////////////////////////////////////////////////////////
  15. //命令列表类,用于存储所有发生的命令,以便Undo,Redo命令使用
  16. class CMyCommand: public CObject
  17. {
  18. public:
  19. DECLARE_DYNCREATE(CMyCommand)
  20. //用于储存命令列表类指针
  21. CObArray m_CommandArray;       
  22. //用于存储图形对象发生改变后先前的信息
  23. CArray<float, float> m_SavedProportion;         
  24. CArray<CPoint, CPoint> m_SavedPosition;         
  25. CArray<int, int> m_SavedLineStyle;         
  26. CArray<int, int> m_SavedColor;         
  27. public:
  28. int CommandPointer;   //命令指针
  29. int ProportionPointer;
  30. int PositionPointer;
  31. int LineStylePointer;
  32. int ColorPointer;
  33. public:
  34. CMyCommand();
  35. //增加命令
  36.     void AddCommand(int command, int num, int* object, int* index);
  37. CMyCommandStruct* GetCommandAt(int index);
  38. //删除序号从index之后的命令
  39.     void DelCommandFrom(int index);
  40.     void AddProportion(int proportion);
  41. void GetProportionAt(int index);
  42.     void DelProportionFrom(int index);
  43. public:
  44. ~CMyCommand();
  45. };