projView.h
上传用户:ywlong9188
上传日期:2022-05-31
资源大小:2656k
文件大小:7k
源码类别:

远程控制编程

开发平台:

C/C++

  1. // ProjView.h : interface of the CProjView class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #define HINT_UPDATE_WINDOW      0
  5. #define HINT_UPDATE_DRAWOBJ     1
  6. #define HINT_UPDATE_SELECTION   2
  7. #define HINT_DELETE_SELECTION   3
  8. //#define HINT_UPDATE_OLE_ITEMS   4
  9. class CDrawObj;
  10. class CProjView : public CScrollView
  11. {
  12. protected: // create from serialization only
  13. CProjView();
  14. DECLARE_DYNCREATE(CProjView)
  15. private:
  16. void LoopSearch(CDrawObjList& list,int nTemp);
  17. // Attributes
  18. public:
  19. // enum{ IDD=IDD_FORM_VIEW};
  20. public:
  21. CProjDoc* GetDocument();
  22. void SetPageSize(CSize size);
  23. CRect GetInitialPosition();
  24. CDrawObjList* m_pActive;
  25. CRectTracker  m_tracker;
  26. BOOL m_bCursor;
  27. CPoint m_prePoint;
  28. // Operations
  29. public:
  30. void DocToClient(CRect& rect);
  31. void DocToClient(CPoint& point);
  32. void ClientToDoc(CPoint& point);
  33. void ClientToDoc(CRect& rect);
  34. void Select(CDrawObj* pObj, BOOL bAdd = FALSE);
  35. void SelectWithinRect(CRect rect, BOOL bAdd = FALSE);
  36. void Deselect(CDrawObj* pObj);
  37. void CloneSelection();
  38. void InvalObj(CDrawObj* pObj);
  39. void Remove(CDrawObj* pObj);
  40. void PasteNative(COleDataObject& dataObject);
  41. void PasteEmbedded(COleDataObject& dataObject, CPoint point );
  42. // Overrides
  43. // ClassWizard generated virtual function overrides
  44. //{{AFX_VIRTUAL(CProjView)
  45. public:
  46. virtual void OnDraw(CDC* pDC);  // overridden to draw this view
  47. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  48. virtual void OnPrepareDC(CDC* pDC, CPrintInfo* pInfo = NULL);
  49. virtual BOOL DestroyWindow();
  50. protected:
  51. virtual void OnInitialUpdate(); // called first time after construct
  52. virtual void OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView);
  53. //}}AFX_VIRTUAL
  54. // Implementation
  55. protected:
  56. // added for drop-target functionality
  57. //COleDropTarget m_dropTarget;  // for drop target functionality
  58. CPoint m_dragPoint; // current position
  59. CSize m_dragSize; // size of dragged object
  60. CSize m_dragOffset; // offset between pt and drag object corner
  61. DROPEFFECT m_prevDropEffect;
  62. BOOL m_bDragDataAcceptable;
  63. BOOL GetObjectInfo(COleDataObject* pDataObject,
  64. CSize* pSize, CSize* pOffset);
  65. // end of drop-target additions
  66.  
  67. public:
  68. virtual ~CProjView();
  69. #ifdef _DEBUG
  70. virtual void AssertValid() const;
  71. virtual void Dump(CDumpContext& dc) const;
  72. #endif
  73. virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
  74. void DrawGrid(CDC* pDC);
  75. CDrawObjList m_selection;
  76. CDrawObjList m_backup;
  77. BOOL m_bGrid;
  78. COLORREF m_gridColor;
  79. BOOL m_bActive; // is the view active?
  80. int nTemp;
  81. BOOL m_bRun;
  82. public:
  83. virtual BOOL IsSelected(const CObject* pDocItem) const;
  84. // Generated message map functions
  85. protected:
  86. protected:
  87. // Generated message map functions
  88. protected:
  89. //{{AFX_MSG(CProjView)
  90. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  91. afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  92. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  93. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  94. afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
  95. afx_msg void OnViewGrid();
  96. afx_msg void OnCancelEdit();
  97. afx_msg void OnUpdateViewGrid(CCmdUI* pCmdUI);
  98. afx_msg void OnObjectMovetofront();
  99. afx_msg void OnUpdateObjectMovetofront(CCmdUI* pCmdUI);
  100. afx_msg void OnObjectMovetoback();
  101. afx_msg void OnUpdateObjectMovetoback(CCmdUI* pCmdUI);
  102. afx_msg void OnObjectMoveforward();
  103. afx_msg void OnUpdateObjectMoveforward(CCmdUI* pCmdUI);
  104. afx_msg void OnObjectLinecolor();
  105. afx_msg void OnUpdateObjectLinecolor(CCmdUI* pCmdUI);
  106. afx_msg void OnObjectFillColor();
  107. afx_msg void OnUpdateObjectFillColor(CCmdUI* pCmdUI);
  108. afx_msg void OnEditSelectAll();
  109. afx_msg void OnEditClear();
  110. afx_msg void OnUpdateAnySelect(CCmdUI* pCmdUI);
  111. afx_msg void OnUpdateEditSelectAll(CCmdUI* pCmdUI);
  112. afx_msg void OnEditProperties();
  113. afx_msg void OnUpdateEditProperties(CCmdUI* pCmdUI);
  114. afx_msg void OnEditPaste();
  115. afx_msg void OnUpdateEditPaste(CCmdUI* pCmdUI);
  116. afx_msg void OnEditCut();
  117. afx_msg void OnUpdateEditCut(CCmdUI* pCmdUI);
  118. afx_msg void OnEditCopy();
  119. afx_msg void OnUpdateEditCopy(CCmdUI* pCmdUI);
  120. afx_msg void OnDrawSelection();
  121. afx_msg void OnUpdateDrawSelection(CCmdUI* pCmdUI);
  122. afx_msg void OnDrawRect();
  123. afx_msg void OnUpdateDrawRect(CCmdUI* pCmdUI);
  124. afx_msg void OnDrawPolygon();
  125. afx_msg void OnUpdateDrawPolygon(CCmdUI* pCmdUI);
  126. afx_msg void OnDrawLine();
  127. afx_msg void OnUpdateDrawLine(CCmdUI* pCmdUI);
  128. afx_msg void OnDrawEllipse();
  129. afx_msg void OnUpdateDrawEllipse(CCmdUI* pCmdUI);
  130. afx_msg void OnObjectMoveback();
  131. afx_msg void OnUpdateObjectMoveback(CCmdUI* pCmdUI);
  132. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  133. afx_msg void OnSize(UINT nType, int cx, int cy);
  134. afx_msg void OnDrawText();
  135. afx_msg void OnUpdateDrawText(CCmdUI* pCmdUI);
  136. afx_msg void OnDrawBarGraph();
  137. afx_msg void OnUpdateDrawBarGraph(CCmdUI* pCmdUI);
  138. afx_msg void OnDrawClock();
  139. afx_msg void OnUpdateDrawClock(CCmdUI* pCmdUI);
  140. afx_msg void OnTimer(UINT nIDEvent);
  141. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  142. afx_msg void OnDrawAnimateTag();
  143. afx_msg void OnUpdateDrawAnimateTag(CCmdUI* pCmdUI);
  144. afx_msg void OnUpdateDrawCursor(CCmdUI* pCmdUI);
  145. afx_msg void OnDrawCursor();
  146. afx_msg void OnRunRun();
  147. afx_msg void OnUpdateRunRun(CCmdUI* pCmdUI);
  148. afx_msg void OnRunStop();
  149. afx_msg void OnUpdateRunStop(CCmdUI* pCmdUI);
  150. afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  151. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  152. afx_msg void OnDrawIsa();
  153. afx_msg void OnUpdateDrawIsa(CCmdUI* pCmdUI);
  154. afx_msg void OnDrawLoop();
  155. afx_msg void OnUpdateDrawLoop(CCmdUI* pCmdUI);
  156. afx_msg void OnObjectMerge();
  157. afx_msg void OnUpdateObjectMerge(CCmdUI* pCmdUI);
  158. afx_msg void OnObjectLib();
  159. afx_msg void OnUpdateObjectLib(CCmdUI* pCmdUI);
  160. afx_msg void OnDrawLib();
  161. afx_msg void OnUpdateDrawLib(CCmdUI* pCmdUI);
  162. afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  163. afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  164. afx_msg void OnObjectSplit();
  165. afx_msg void OnUpdateObjectSplit(CCmdUI* pCmdUI);
  166. afx_msg void OnDrawButton();
  167. afx_msg void OnUpdateDrawButton(CCmdUI* pCmdUI);
  168. //}}AFX_MSG
  169. afx_msg void OnEditRotate();
  170. afx_msg void OnUpdateEditRotate(CCmdUI* pCmdUI);
  171. afx_msg void OnAlign( UINT nID );
  172. afx_msg void OnUpdateAlign( CCmdUI* pCmdUI );
  173. DECLARE_MESSAGE_MAP()
  174. };
  175. #ifndef _DEBUG  // debug version in ProjView.cpp
  176. inline CProjDoc* CProjView::GetDocument()
  177.    { return (CProjDoc*)m_pDocument; }
  178. #endif
  179. /////////////////////////////////////////////////////////////////////////////