DrawView.h
上传用户:yklx818
上传日期:2013-04-13
资源大小:459k
文件大小:4k
源码类别:

GIS编程

开发平台:

Visual C++

  1. // DrawView.h : interface of the CDrawView class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_DRAWVIEW_H__F97AE282_04B1_42CB_AB23_3F1476AF04D7__INCLUDED_)
  5. #define AFX_DRAWVIEW_H__F97AE282_04B1_42CB_AB23_3F1476AF04D7__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "Arc.h"
  10. #include "TextWriteDlg.h"
  11. #include "DrawDoc.h"
  12. class CDrawView : public CView
  13. {
  14. private:
  15. float m_xStart,m_yStart,blc;
  16. int m_wScreen,m_hScreen;
  17. int m_bColor;
  18. int m_MapMode;
  19. int r;
  20. float m_CircleX,m_CircleY,m_CircleR,m_Angle1,m_Angle2;
  21. CArc m_Arc1;
  22. BOOL DrawArcYes;
  23. PointStruct *PointXyz;
  24. ScreenStruct *p_Screen;
  25. float x_Move,y_Move;
  26. CPoint mPointOrign,mPointOrign1,mPointOld;//记录鼠标移动时的鼠标点的坐标;
  27. short m_pColor;
  28. // short m_bColor;
  29. short m_brColor;
  30. short m_LineWide;
  31. short m_LineType;
  32. short m_Layer;
  33. void ReDrawRect(float X1,float Y1,float X2,float Y2);
  34. BOOL RectCross(float* x1,float* y1,float* x2,float* y2,float xx1,float yy1,float xx2,float yy2);
  35. protected: // create from serialization only
  36. int m_DrawCurrent;
  37. int PushNumb;
  38. CDrawView();
  39. DECLARE_DYNCREATE(CDrawView)
  40. BOOL jsarc(CPoint p1,CPoint p2,CPoint p3,float *CircleX,float *CircleY,float *CircleR,float *Angle1,float *Angle2);
  41. TextWriteDlg* pTextDlg;//标注文本的对话框类指针
  42. float m_FontHeight,m_FontWide,m_FontBetween,m_TextAngle,m_FontAngle;
  43. float m_TextX,m_TextY;//标注文本的起点位置
  44. CString m_TextString;
  45. CText* m_Text1;//定义一个标注文本类指针
  46. // Attributes
  47. public:
  48. CDrawDoc* GetDocument();
  49. void DPtoVP(float x,float y,int *X,int *Y);
  50. void VPtoDP(int x,int y,float *X,float *Y);
  51. int DLtoVL(float l);
  52. float VLtoDL(int l);
  53.     void DrawBack(CDC* pDC);
  54. //在视图类中任意给一个指定的图形元素做删除标志
  55. void Delete(CDC* pDC,int Lb,int index);
  56. // Operations
  57. public:
  58. // Overrides
  59. // ClassWizard generated virtual function overrides
  60. //{{AFX_VIRTUAL(CDrawView)
  61. public:
  62. virtual void OnDraw(CDC* pDC);  // overridden to draw this view
  63. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  64. protected:
  65. virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
  66. virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
  67. virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
  68. virtual void OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView);
  69. virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo);
  70. //}}AFX_VIRTUAL
  71. // Implementation
  72. public:
  73. virtual ~CDrawView();
  74. #ifdef _DEBUG
  75. virtual void AssertValid() const;
  76. virtual void Dump(CDumpContext& dc) const;
  77. #endif
  78. protected:
  79. // Generated message map functions
  80. protected:
  81. //{{AFX_MSG(CDrawView)
  82. afx_msg void OnSize(UINT nType, int cx,int cy);
  83.     afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  84. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  85. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  86. afx_msg void OnDrawArc();
  87. afx_msg void OnDrawCircle();
  88. afx_msg void OnDrawCircle1();
  89. afx_msg void OnDrawLine();
  90. afx_msg void OnDrawPline();
  91.     afx_msg void OnDrawPlineRgn();
  92. afx_msg void OnDrawText();
  93. afx_msg void OnDrawNet();
  94. afx_msg void OnDrawNetLink();
  95. afx_msg void DrawText();
  96. afx_msg void DrawTextOnOk();
  97. afx_msg void DrawTextOnCancel();
  98. afx_msg void OnGraphRedraw();
  99. afx_msg void OnGraphZoom();
  100. afx_msg void OnGraphPan();
  101. afx_msg void OnGraphUp();
  102. afx_msg void OnGraphFirst();
  103. afx_msg void OnGraphAll();
  104. afx_msg void OnSelectMouse();
  105. afx_msg void OnSelectClear();
  106. afx_msg void OnEditMove();
  107. afx_msg void OnSelectDelete();
  108. //}}AFX_MSG
  109. DECLARE_MESSAGE_MAP()
  110. };
  111. #ifndef _DEBUG  // debug version in DrawView.cpp
  112. inline CDrawDoc* CDrawView::GetDocument()
  113.    { return (CDrawDoc*)m_pDocument; }
  114. #endif
  115. /////////////////////////////////////////////////////////////////////////////
  116. //{{AFX_INSERT_LOCATION}}
  117. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  118. #endif // !defined(AFX_DRAWVIEW_H__F97AE282_04B1_42CB_AB23_3F1476AF04D7__INCLUDED_)
  119. //extern CGraphPara *p_GraphPara;