MiniCADView.h
上传用户:netltd
上传日期:2013-02-12
资源大小:7234k
文件大小:4k
源码类别:

绘图程序

开发平台:

Visual C++

  1. // MiniCADView.h : interface of the CMiniCADView class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_MINICADVIEW_H__7F0987A0_D806_11D2_8830_E0646867975D__INCLUDED_)
  5. #define AFX_MINICADVIEW_H__7F0987A0_D806_11D2_8830_E0646867975D__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "MiniCAD.h"
  10. #include "MainFrm.h"
  11. #include "MiniCADDoc.h"
  12. class CMiniCADView : public CScrollView
  13. {
  14. protected: 
  15. CMiniCADView();
  16. DECLARE_DYNCREATE(CMiniCADView)
  17. public:
  18. CMiniCADDoc* GetDocument();
  19. private:
  20. CRect EffectRect; //发生变化的逻辑区(注意不是窗体客户区)
  21. public:
  22. void SetEffectRect(CRect rect); //设置发生变化的逻辑区
  23. public:
  24. BOOL BeforeCommand(CMiniCADDoc* pDoc); 
  25. protected:
  26. CMiniCADApp* pApp;
  27. CMainFrame*  pMainWnd;
  28.    
  29.     CSize  DrawingSize;       //图纸尺寸 
  30. CSize  LogicViewSize;     //逻辑区(可滚动视区)的尺寸
  31. float Proportion;         //视图显示缩放比例
  32. //Operations
  33. public:
  34. void  SetDrawingSize(CSize size); //设置图纸尺寸 
  35. CRect GetDrawingLogicRect();      //获取图纸所占据的逻辑区域
  36. CSize GetLogicViewSize();         //获取逻辑区的尺寸
  37. // Overrides
  38. // ClassWizard generated virtual function overrides
  39. //{{AFX_VIRTUAL(CMiniCADView)
  40. public:
  41. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  42. virtual void OnInitialUpdate();
  43. virtual void OnPrepareDC(CDC* pDC, CPrintInfo* pInfo = NULL);
  44. protected:
  45. virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
  46. virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
  47. virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
  48. virtual void OnDraw(CDC* pDC);
  49. //}}AFX_VIRTUAL
  50. // Implementation
  51. public:
  52. virtual ~CMiniCADView();
  53. #ifdef _DEBUG
  54. virtual void AssertValid() const;
  55. virtual void Dump(CDumpContext& dc) const;
  56. #endif
  57. protected:
  58. // Generated message map functions
  59. protected:
  60. //{{AFX_MSG(CMiniCADView)
  61. afx_msg void OnDrawCircle();
  62. afx_msg void OnDrawLine();
  63. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  64. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  65. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  66. afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
  67. afx_msg void OnDestroy();
  68. afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
  69. afx_msg void OnZoomout();
  70. afx_msg void OnZoomin();
  71. afx_msg void OnSelchangeColor();
  72. afx_msg void OnSelchangeLinestyle();
  73. afx_msg void OnDrawRect();
  74. afx_msg void OnSize(UINT nType, int cx, int cy);
  75. afx_msg void OnViewRedraw();
  76. afx_msg void OnDrawSelect();
  77. afx_msg void OnEditUndo();
  78. afx_msg void OnEditRedo();
  79. afx_msg void OnDrawArc();
  80. afx_msg void OnDrawText();
  81. afx_msg void OnUpdateDrawSelect(CCmdUI* pCmdUI);
  82. afx_msg void OnUpdateDrawLine(CCmdUI* pCmdUI);
  83. afx_msg void OnUpdateDrawRect(CCmdUI* pCmdUI);
  84. afx_msg void OnUpdateDrawCircle(CCmdUI* pCmdUI);
  85. afx_msg void OnUpdateDrawArc(CCmdUI* pCmdUI);
  86. afx_msg void OnUpdateDrawText(CCmdUI* pCmdUI);
  87. afx_msg void OnUpdateEditRedo(CCmdUI* pCmdUI);
  88. afx_msg void OnUpdateEditUndo(CCmdUI* pCmdUI);
  89. afx_msg void OnUpdateModifyDelete(CCmdUI* pCmdUI);
  90. afx_msg void OnEraseBkgnd (CDC* pDC);
  91. afx_msg void OnSelchangeProportion();
  92. afx_msg void OnDrawMultiline();
  93. afx_msg void OnDrawPolygon();
  94. afx_msg void OnDrawEllipse();
  95. afx_msg void OnModifyDelete();
  96. afx_msg void OnModifyCopy();
  97. afx_msg void OnModifyCut();
  98. afx_msg void OnModifyCuttoangle();
  99. afx_msg void OnModifyLengthento();
  100. afx_msg void OnModifyJoin();
  101. afx_msg void OnModifyMirror();
  102. afx_msg void OnModifyVertical();
  103. afx_msg void OnDrawDot();
  104. afx_msg void OnDrawCurve();
  105. afx_msg void OnModifyMove();
  106. afx_msg void OnModifyRotate();
  107. afx_msg void OnDrawDefineline();
  108. afx_msg void OnModifyExcursion();
  109. afx_msg void OnEditCopy();
  110. afx_msg void OnEditCut();
  111. afx_msg void OnEditPaste();
  112. afx_msg void OnFormatDrawingAttribute();
  113. afx_msg void OnToolSelect();
  114. afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  115. //}}AFX_MSG
  116. DECLARE_MESSAGE_MAP()
  117. };
  118. #ifndef _DEBUG  // debug version in MiniCADView.cpp
  119. inline CMiniCADDoc* CMiniCADView::GetDocument()
  120.    { return (CMiniCADDoc*)m_pDocument; }
  121. #endif
  122. /////////////////////////////////////////////////////////////////////////////
  123. //{{AFX_INSERT_LOCATION}}
  124. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  125. #endif // !defined(AFX_MINICADVIEW_H__7F0987A0_D806_11D2_8830_E0646867975D__INCLUDED_)