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