MapView.h
上传用户:hzwailv
上传日期:2010-01-09
资源大小:405k
文件大小:6k
源码类别:

GIS编程

开发平台:

Visual C++

  1. // MapView.h : interface of the CMapView class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_MAPVIEW_H__991DAAAE_6771_11D3_92B5_0000E826141B__INCLUDED_)
  5. #define AFX_MAPVIEW_H__991DAAAE_6771_11D3_92B5_0000E826141B__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "TargetSet.h"
  10. #define CUSTOM_DRAW_TEXT_TOOL      21
  11. #define CUSTOM_DRAW_SYMBOL_TOOL    22
  12. #define CUSTOM_DRAW_LINE_TOOL      23
  13. #define CUSTOM_DRAW_ELLIPSE_TOOL   24
  14. #define CUSTOM_DRAW_REGION_TOOL    25
  15. #define CUSTOM_DRAW_RECT_TOOL      26
  16. #define CUSTOM_DRAW_ARC_TOOL       27
  17. class CMapView : public CView
  18. {
  19. protected: // create from serialization only
  20. CMapView();
  21. DECLARE_DYNCREATE(CMapView)
  22. // Attributes
  23. public:
  24. CMapDemoDoc* GetDocument();
  25. public:
  26. CMapX m_ctrlMapX; //声明一个MapX对象
  27.     CString m_strEditLayer;//当前动态编辑图层名字
  28. double m_dPrevZoom, m_dCurZoom;
  29. double m_dPrevX, m_dCurX;
  30. double m_dPrevY, m_dCurY;
  31. BOOL m_bScaleBar;
  32. int m_nGpsOperation;
  33. BOOL m_bIsStartGps;
  34. BOOL m_bIsAutoLable;
  35. CGpsSet  gpsTarget;
  36. CGpsSet* m_pTarget;
  37. CGpsSetArray gpsTargetArray;
  38. // Operations
  39. public:
  40. //调色板设置 在MapX4.0下,真彩色已成缺省设置,可以不采用256色调色板
  41. void NotifyPaletteChanged(CWnd* pFocusWnd);
  42. void NotifyQueryNewPalette();
  43. // Overrides
  44. // ClassWizard generated virtual function overrides
  45. //{{AFX_VIRTUAL(CMapView)
  46. public:
  47. virtual void OnDraw(CDC* pDC);  // overridden to draw this view
  48. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  49. virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
  50. virtual void OnInitialUpdate();
  51. virtual BOOL DestroyWindow();
  52. protected:
  53. virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
  54. virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
  55. virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
  56. virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
  57. //}}AFX_VIRTUAL
  58. // Implementation
  59. public:
  60. void ClearAllTarget();
  61. void SetAnimationLayer();
  62. void UpdateSense();
  63. BOOL FindLayer(CString strLayerName);
  64. BOOL FindLayer(CString strLayerName,CMapXLayer& layer);
  65. void OnInfoToolUsed(CMapX &cMapX);
  66. void SetTitleVisible(BOOL bState);
  67. void SetTitle(CString str);
  68. void DrawScaleBar(CDC * pDC);
  69. virtual ~CMapView();
  70. #ifdef _DEBUG
  71. virtual void AssertValid() const;
  72. virtual void Dump(CDumpContext& dc) const;
  73. #endif
  74. protected:
  75. // Generated message map functions
  76. protected:
  77. //{{AFX_MSG(CMapView)
  78. afx_msg void OnSize(UINT nType, int cx, int cy);
  79. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  80. afx_msg void OnFileOpengeoset();
  81. afx_msg void OnViewSysoption();
  82. afx_msg void OnMapToolSelect();
  83. afx_msg void OnMapToolZoomin();
  84. afx_msg void OnMapToolZoomout();
  85. afx_msg void OnMapToolPan();
  86. afx_msg void OnMapToolRadiusselect();
  87. afx_msg void OnMapToolRectangleselect();
  88. afx_msg void OnMapToolInformation();
  89. afx_msg void OnViewLayercontrol();
  90. afx_msg void OnViewScalebar();
  91. afx_msg void OnUpdateViewScalebar(CCmdUI* pCmdUI);
  92. afx_msg void OnToolUnselectall();
  93. afx_msg void OnMapeditSelettable();
  94. afx_msg void OnMapeditAddtext();
  95. afx_msg void OnMapeditAddsymbol();
  96. afx_msg void OnUpdateMapeditAddtext(CCmdUI* pCmdUI);
  97. afx_msg void OnUpdateMapeditAddsymbol(CCmdUI* pCmdUI);
  98. afx_msg void OnMapeditAddline();
  99. afx_msg void OnUpdateMapeditAddline(CCmdUI* pCmdUI);
  100. afx_msg void OnMapeditAddpolygon();
  101. afx_msg void OnUpdateMapeditAddpolygon(CCmdUI* pCmdUI);
  102. afx_msg void OnMapeditAddrect();
  103. afx_msg void OnUpdateMapeditAddrect(CCmdUI* pCmdUI);
  104. afx_msg void OnMapeditAddepplise();
  105. afx_msg void OnUpdateMapeditAddepplise(CCmdUI* pCmdUI);
  106. afx_msg void OnMapeditAddarc();
  107. afx_msg void OnUpdateMapeditAddarc(CCmdUI* pCmdUI);
  108. afx_msg void OnDestroy();
  109. afx_msg void OnAddTarget();
  110. afx_msg void OnEditTarget();
  111. afx_msg void OnStartGps();
  112. afx_msg void OnUpdateStartGps(CCmdUI* pCmdUI);
  113. afx_msg void OnEndGps();
  114. afx_msg void OnUpdateEndGps(CCmdUI* pCmdUI);
  115. afx_msg void OnUpdateAddTarget(CCmdUI* pCmdUI);
  116. afx_msg void OnUpdateEditTarget(CCmdUI* pCmdUI);
  117. afx_msg void OnGpsChangesymbol();
  118. afx_msg void OnUpdateGpsChangesymbol(CCmdUI* pCmdUI);
  119. afx_msg void OnTimer(UINT nIDEvent);
  120. afx_msg void OnChangeSymbol();
  121. afx_msg void OnUpdateChangeSymbol(CCmdUI* pCmdUI);
  122. afx_msg void OnLineChange();
  123. afx_msg void OnReagionChange();
  124. afx_msg void OnMapxProperty();
  125. afx_msg void OnDatabindNormal();
  126. afx_msg void OnUpdateDatabindNormal(CCmdUI* pCmdUI);
  127. afx_msg void OnBinddataOdbc();
  128. afx_msg void OnUpdateBinddataOdbc(CCmdUI* pCmdUI);
  129. afx_msg void OnBinddataArray();
  130. afx_msg void OnUpdateBinddataArray(CCmdUI* pCmdUI);
  131. afx_msg void OnBinddataNobind();
  132. afx_msg void OnUpdateBinddataNobind(CCmdUI* pCmdUI);
  133. afx_msg void OnThemeReange();
  134. afx_msg void OnUpdateThemeReange(CCmdUI* pCmdUI);
  135. afx_msg void OnThemeDot();
  136. afx_msg void OnUpdateThemeDot(CCmdUI* pCmdUI);
  137. afx_msg void OnThemePie();
  138. afx_msg void OnUpdateThemePie(CCmdUI* pCmdUI);
  139. afx_msg void OnThemeSymbol();
  140. afx_msg void OnUpdateThemeSymbol(CCmdUI* pCmdUI);
  141. afx_msg void OnThemeIndiv();
  142. afx_msg void OnUpdateThemeIndiv(CCmdUI* pCmdUI);
  143. afx_msg void OnThemeBar();
  144. afx_msg void OnUpdateThemeBar(CCmdUI* pCmdUI);
  145. //}}AFX_MSG
  146. //MapX事件函数声明
  147.     
  148. void OnDrawUserLayer(LPDISPATCH Layer, long hOutputDC, long hAttributeDC, LPDISPATCH RectFull, LPDISPATCH RectInvalid);
  149. void OnToolUsed(short ToolNum, double X1, double Y1, double X2, double Y2, double Distance, BOOL Shift, BOOL Ctrl, BOOL* EnableDefault);
  150. void OnPolyToolUsedMap(short ToolNum, long Flags, LPDISPATCH Points, BOOL bShift, BOOL bCtrl, BOOL FAR* EnableDefault);
  151. void OnMouseDownMap(short Button, short Shift, float X, float Y);
  152. BOOL OnMouseMoveInMap(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
  153. BOOL OnMouseUpInMap(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
  154. DECLARE_MESSAGE_MAP()
  155. DECLARE_EVENTSINK_MAP()
  156. };
  157. #ifndef _DEBUG  // debug version in MapView.cpp
  158. inline CMapDemoDoc* CMapView::GetDocument()
  159.    { return (CMapDemoDoc*)m_pDocument; }
  160. #endif
  161. /////////////////////////////////////////////////////////////////////////////
  162. //{{AFX_INSERT_LOCATION}}
  163. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  164. #endif // !defined(AFX_MAPVIEW_H__991DAAAE_6771_11D3_92B5_0000E826141B__INCLUDED_)