DrawVw.h
上传用户:seaboy_04
上传日期:2013-02-24
资源大小:284k
文件大小:5k
源码类别:

其他行业

开发平台:

Visual C++

  1. // DrawVw.h : interface of the CDrawView class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_DRAWVW_H__57AF06D8_3F92_4DB7_BA94_D0616183DBE2__INCLUDED_)
  5. #define AFX_DRAWVW_H__57AF06D8_3F92_4DB7_BA94_D0616183DBE2__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #define HINT_UPDATE_WINDOW      0
  10. #define HINT_UPDATE_DRAWOBJ     1
  11. #define HINT_UPDATE_SELECTION   2
  12. #define HINT_DELETE_SELECTION   3
  13. #define HINT_UPDATE_OLE_ITEMS   4
  14. class CDrawItem;
  15. //class CDrawObj;
  16. class CDrawView : public CScrollView
  17. {
  18. protected: // create from serialization only
  19. CDrawView();
  20. DECLARE_DYNCREATE(CDrawView)
  21. // Attributes
  22. public:
  23. BOOL m_bActive;
  24. COLORREF m_gridColor;
  25. BOOL m_bGrid;
  26. CDrawObjList m_selection;
  27. CDrawDoc* GetDocument();
  28. // m_pSelection holds the selection to the current CDrawItem.
  29. // For many applications, such a member variable isn't adequate to
  30. //  represent a selection, such as a multiple selection or a selection
  31. //  of objects that are not CDrawItem objects.  This selection
  32. //  mechanism is provided just to help you get started.
  33. // TODO: replace this selection mechanism with one appropriate to your app.
  34. // CDrawItem* m_pSelection;
  35. // Operations
  36. public:
  37. // Overrides
  38. // ClassWizard generated virtual function overrides
  39. //{{AFX_VIRTUAL(CDrawView)
  40. public:
  41. virtual void OnDraw(CDC* pDC);  // overridden to draw this view
  42. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  43. virtual void OnPrepareDC(CDC* pDC, CPrintInfo* pInfo = NULL);
  44. protected:
  45. virtual void OnInitialUpdate(); // called first time after construct
  46. virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
  47. virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
  48. virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
  49. //}}AFX_VIRTUAL
  50. // Implementation
  51. public:
  52. virtual BOOL IsSelected(const CObject* pDocItem) const;// Container support
  53. void PasteEmbedded(COleDataObject& dataObject, CPoint point);
  54. void PasteNative(COleDataObject& dataObject);
  55. virtual void OnActivateView(BOOL bActivate,CView* pActiveView,CView* pDeactiveView);
  56. CRect GetInitialPosition();
  57.   void SetPageSize(CSize size);
  58. void DrawGrid(CDC* pDC);
  59. void SelectWithinRect(CRect rect,BOOL bAdd=FALSE);
  60. void Deselect(CDrawObj* pObj);
  61. void CloneSelection();
  62. void Select(CDrawObj* pObj,BOOL bAdd = FALSE);
  63. void Remove(CDrawObj* pObj);
  64. void DocToClient(CRect& rect);
  65. void DocToClient(CPoint& point);
  66. void ClientToDoc(CPoint& point);
  67. void ClientToDoc(CRect& rect);
  68. void InvalObj(CDrawObj* pObj);
  69. virtual ~CDrawView();
  70. #ifdef _DEBUG
  71. virtual void AssertValid() const;
  72. virtual void Dump(CDumpContext& dc) const;
  73. #endif
  74. virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
  75. static CLIPFORMAT m_cfDraw;
  76. static CLIPFORMAT m_cfObjectDescriptor;
  77. protected:
  78. // Generated message map functions
  79. protected:
  80. afx_msg void OnContextMenu(CWnd*, CPoint point);
  81. //{{AFX_MSG(CDrawView)
  82. afx_msg void OnDestroy();
  83. afx_msg void OnSetFocus(CWnd* pOldWnd);
  84. afx_msg void OnSize(UINT nType, int cx, int cy);
  85. afx_msg void OnInsertObject();
  86. afx_msg void OnCancelEditCntr();
  87. afx_msg void OnDrawSelect();
  88. afx_msg void OnDrawRect();
  89. afx_msg void OnUpdateDrawSelect(CCmdUI* pCmdUI);
  90. afx_msg void OnUpdateDrawRect(CCmdUI* pCmdUI);
  91. afx_msg void OnLButtonDown(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 OnLButtonDblClk(UINT nFlags, CPoint point);
  95. afx_msg void OnDrawCircle();
  96. afx_msg void OnDrawEllipse();
  97. afx_msg void OnDrawLine();
  98. afx_msg void OnDrawRoundrect();
  99. afx_msg void OnEditProperties();
  100. afx_msg void OnObjectMoveback();
  101. afx_msg void OnObjectMoveforward();
  102. afx_msg void OnObjectMovetoback();
  103. afx_msg void OnObjectMovetofront();
  104. afx_msg void OnUpdateObjectMoveback(CCmdUI* pCmdUI);
  105. afx_msg void OnUpdateObjectMoveforward(CCmdUI* pCmdUI);
  106. afx_msg void OnUpdateObjectMovetoback(CCmdUI* pCmdUI);
  107. afx_msg void OnUpdateObjectMovetofront(CCmdUI* pCmdUI);
  108. afx_msg void OnObjectFillcolor();
  109. afx_msg void OnObjectLinecolor();
  110. afx_msg void OnUpdateObjectFillcolor(CCmdUI* pCmdUI);
  111. afx_msg void OnUpdateObjectLinecolor(CCmdUI* pCmdUI);
  112. afx_msg void OnViewGrid();
  113. afx_msg void OnUpdateViewGrid(CCmdUI* pCmdUI);
  114. afx_msg void OnViewShowobjects();
  115. afx_msg void OnUpdateViewShowobjects(CCmdUI* pCmdUI);
  116. afx_msg void OnEditClear();
  117. afx_msg void OnEditCopy();
  118. afx_msg void OnEditCut();
  119. afx_msg void OnEditPaste();
  120. afx_msg void OnEditSelectAll();
  121. afx_msg void OnUpdateEditClear(CCmdUI* pCmdUI);
  122. afx_msg void OnUpdateEditCopy(CCmdUI* pCmdUI);
  123. afx_msg void OnUpdateEditCut(CCmdUI* pCmdUI);
  124. afx_msg void OnUpdateEditPaste(CCmdUI* pCmdUI);
  125. afx_msg void OnUpdateEditSelectAll(CCmdUI* pCmdUI);
  126. //}}AFX_MSG
  127. DECLARE_MESSAGE_MAP()
  128. };
  129. #ifndef _DEBUG  // debug version in DrawVw.cpp
  130. inline CDrawDoc* CDrawView::GetDocument()
  131.    { return (CDrawDoc*)m_pDocument; }
  132. #endif
  133. /////////////////////////////////////////////////////////////////////////////
  134. //{{AFX_INSERT_LOCATION}}
  135. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  136. #endif // !defined(AFX_DRAWVW_H__57AF06D8_3F92_4DB7_BA94_D0616183DBE2__INCLUDED_)