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

绘图程序

开发平台:

Visual C++

  1. #include "resource.h"
  2. //图纸层类
  3. class CFileLayer: public CObject
  4. {
  5. private:
  6. CString m_name;
  7.     BOOL    m_show;    //图层显示标记
  8.     BOOL    m_locked;  //图层锁定标记
  9. public:
  10. CFileLayer(CString m_name, BOOL show, BOOL locked);
  11. CFileLayer()
  12. {}
  13. DECLARE_SERIAL(CFileLayer)
  14. void Serialize(CArchive& ar);
  15. operator =(const CFileLayer& Layer);
  16. public:
  17. BOOL    IsShow();
  18.     BOOL    IsLocked();
  19. void    SetShow(BOOL flag);
  20. void    SetLocked(BOOL flag);
  21. void    SetName(CString name);
  22. CString GetName();
  23. };
  24. ////////////////////////////////////////////////////////////////////////////////////////////
  25. class CManageFileLayer:public CObject
  26. {
  27. private:
  28. CObArray m_LayerArray;
  29. public:
  30. CManageFileLayer();
  31. ~CManageFileLayer();
  32. void Serialize(CArchive& ar);
  33. public:
  34.     UINT          GetLayerNum();
  35. void          AddLayer(CString m_name, BOOL show, BOOL locked); //增加图层
  36. void          DelLayer(CString name); //删除图层,参数为图层名
  37. CFileLayer*   GetLayer(int index); //获取图层指针
  38. CFileLayer*   GetLayer(CString name); //获取图层指针,参数为图层名
  39. private:
  40. CString CurrentLayerName;    //当前图层名
  41. public:
  42. void SetCurrentLayerName(CString name); //设置当前图层名
  43. CString GetCurrentLayerName();           //获取当前图层名 
  44. };
  45. /////////////////////////////////////////////////////////////////////////////
  46. #define ICON_LOCKFLAG      1
  47. #define ICON_UNLOCKFLAG    2
  48. #define ICON_SHOWFLAG      3
  49. #define ICON_HIDEFLAG      4
  50. #define ICON_CURRENTFLAG   5
  51. #define ICON_NOCURRENTFLAG 6
  52. // CFileLayerDlg dialog
  53. class CFileLayerDlg : public CDialog
  54. {
  55. // Construction
  56. public:
  57. CFileLayerDlg(CWnd* pParent = NULL);   // standard constructor
  58. private:
  59. BOOL NewFlag;
  60. CManageFileLayer* pManageFileLayer;
  61. CString FileName;
  62. public:
  63. void Create(CString name, CManageFileLayer* pManageLayer);
  64. // Dialog Data
  65. //{{AFX_DATA(CFileLayerDlg)
  66. enum { IDD = IDD_MANAGELAYER };
  67. CStatic m_name;
  68. CListCtrl m_LayerList;
  69. //}}AFX_DATA
  70. // Overrides
  71. // ClassWizard generated virtual function overrides
  72. //{{AFX_VIRTUAL(CFileLayerDlg)
  73. protected:
  74. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  75. //}}AFX_VIRTUAL
  76. // Implementation
  77. protected:
  78. // Generated message map functions
  79. //{{AFX_MSG(CFileLayerDlg)
  80. virtual BOOL OnInitDialog();
  81. afx_msg void OnNew();
  82. afx_msg void OnDelete();
  83. afx_msg void OnDblclkLayerlist(NMHDR* pNMHDR, LRESULT* pResult);
  84. afx_msg void OnEndlabeleditLayerlist(NMHDR* pNMHDR, LRESULT* pResult);
  85. //}}AFX_MSG
  86. DECLARE_MESSAGE_MAP()
  87. };