ex63View.cpp
上传用户:qdhmjx
上传日期:2022-07-11
资源大小:2226k
文件大小:3k
源码类别:

书籍源码

开发平台:

Visual C++

  1. // ex63View.cpp : implementation of the CEx63View class
  2. //
  3. #include "stdafx.h"
  4. #include "ex63.h"
  5. #include "ex63Doc.h"
  6. #include "ex63View.h"
  7. #include "MainFrm.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CEx63View
  15. IMPLEMENT_DYNCREATE(CEx63View, CView)
  16. BEGIN_MESSAGE_MAP(CEx63View, CView)
  17. //{{AFX_MSG_MAP(CEx63View)
  18. ON_WM_MOUSEMOVE()
  19. ON_UPDATE_COMMAND_UI(ID_INDICATOR_CTRL, OnUpdateKeyCtrl)
  20. //}}AFX_MSG_MAP
  21. // Standard printing commands
  22. ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
  23. ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
  24. ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
  25. END_MESSAGE_MAP()
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CEx63View construction/destruction
  28. CEx63View::CEx63View()
  29. {
  30. // TODO: add construction code here
  31. }
  32. CEx63View::~CEx63View()
  33. {
  34. }
  35. BOOL CEx63View::PreCreateWindow(CREATESTRUCT& cs)
  36. {
  37. // TODO: Modify the Window class or styles here by modifying
  38. //  the CREATESTRUCT cs
  39. return CView::PreCreateWindow(cs);
  40. }
  41. /////////////////////////////////////////////////////////////////////////////
  42. // CEx63View drawing
  43. void CEx63View::OnDraw(CDC* pDC)
  44. {
  45. CEx63Doc* pDoc = GetDocument();
  46. ASSERT_VALID(pDoc);
  47. // TODO: add draw code for native data here
  48. }
  49. /////////////////////////////////////////////////////////////////////////////
  50. // CEx63View printing
  51. BOOL CEx63View::OnPreparePrinting(CPrintInfo* pInfo)
  52. {
  53. // default preparation
  54. return DoPreparePrinting(pInfo);
  55. }
  56. void CEx63View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  57. {
  58. // TODO: add extra initialization before printing
  59. }
  60. void CEx63View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  61. {
  62. // TODO: add cleanup after printing
  63. }
  64. /////////////////////////////////////////////////////////////////////////////
  65. // CEx63View diagnostics
  66. #ifdef _DEBUG
  67. void CEx63View::AssertValid() const
  68. {
  69. CView::AssertValid();
  70. }
  71. void CEx63View::Dump(CDumpContext& dc) const
  72. {
  73. CView::Dump(dc);
  74. }
  75. CEx63Doc* CEx63View::GetDocument() // non-debug version is inline
  76. {
  77. ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CEx63Doc)));
  78. return (CEx63Doc*)m_pDocument;
  79. }
  80. #endif //_DEBUG
  81. /////////////////////////////////////////////////////////////////////////////
  82. // CEx63View message handlers
  83. void CEx63View::OnMouseMove(UINT nFlags, CPoint point) 
  84. {
  85. CString str;
  86. str.Format("x=%d,y=%d",point.x,point.y) ; 
  87. CMainFrame* pMainFrame=(CMainFrame*)(AfxGetApp()->GetMainWnd());
  88. pMainFrame->m_wndStatusBar.SetPaneStyle(1,SBPS_POPOUT);
  89. pMainFrame->m_wndStatusBar. SetPaneText(1,str) ;
  90. CView::OnMouseMove(nFlags, point);
  91. }
  92. void CEx63View::OnUpdateKeyCtrl(CCmdUI* pCmdUI) 
  93. {
  94. pCmdUI->Enable(::GetKeyState(VK_CONTROL)<0);
  95. }