MapRender.h
上传用户:bjslfz
上传日期:2022-07-25
资源大小:4430k
文件大小:1k
源码类别:

文件操作

开发平台:

C/C++

  1. /************************************************************
  2.   文件名: MapRender.h
  3.   
  4.   作者:   谢婧       Version : 1.0          Date: 2008/05/26
  5.   
  6.   类描述: 对图例对象的管理
  7.   
  8.   邮件地址:xiejing0707@163.com
  9. ***********************************************************/
  10. #ifndef _MAP_RENDER_H_
  11. #define _MAP_RENDER_H_
  12. #include <afxtempl.h>
  13. #define MAX_CLASSNUM     //最大分类数
  14. typedef enum 
  15. {
  16. SIMPLE_RENDER,
  17.     UNIQUE_RENDER
  18. } RENDERTYPE;
  19. typedef struct simpleRender
  20. {
  21. COLORREF FillColor;
  22.     COLORREF OutlineColor;
  23. int      iIndex;
  24. }SIMPLERENDER;
  25. typedef struct renderInfo
  26. {
  27. CString   csValue;
  28. COLORREF  clr;
  29. }RENDERINFO;
  30. class CMapRender 
  31. {
  32. public:
  33.    CMapRender();
  34.    ~CMapRender();
  35. public:
  36. UINT MapRand(UINT nMax);
  37.    void  Add(RENDERINFO& rInfo );
  38.    void  RemoveByValue(CString& csValue);
  39.    void  RemoveByIndex(int iIndex );
  40.    int   GetCount();
  41.    RENDERINFO* GetByValue(CString& csValue);
  42.    RENDERINFO* GetByIndex(int iIndex);
  43.    void Clear();
  44.    void SetRenderType(int m_Type) { m_RenderType = m_Type; };
  45.    int  GetRenderType() { return m_RenderType; };
  46.    void SetSimpleRender( SIMPLERENDER& simpleRender );
  47.    void GetSimpleRender( SIMPLERENDER& simpleRender );
  48.    void SetFieldIndex(int iIndex);
  49.    int  GetFieldIndex();
  50.    void Clone(CMapRender *pRender);
  51. private:  
  52.    SIMPLERENDER  m_SimpleRender; 
  53.    int m_RenderType;
  54.    int m_FieldIndex;
  55. private:
  56. CArray<RENDERINFO*,RENDERINFO*> m_Render;
  57. };
  58. #endif //_MAP_RENDER_H_