SIMPVW.CPP
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. // simpvw.cpp : implementation of the simple view classes
  2. //
  3. // This is a part of the Microsoft Foundation Classes C++ library.
  4. // Copyright (C) 1992-1998 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. // This source code is only intended as a supplement to the
  8. // Microsoft Foundation Classes Reference and related
  9. // electronic documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Microsoft Foundation Classes product.
  12. #include "stdafx.h"
  13. #include "viewex.h"
  14. #ifdef _DEBUG
  15. #undef THIS_FILE
  16. static char BASED_CODE THIS_FILE[] = __FILE__;
  17. #endif
  18. /////////////////////////////////////////////////////////////////////////////
  19. // CTextView
  20. IMPLEMENT_DYNCREATE(CTextView, CView)
  21. BEGIN_MESSAGE_MAP(CTextView, CView)
  22. //{{AFX_MSG_MAP(CTextView)
  23. ON_WM_MOUSEACTIVATE()
  24. //}}AFX_MSG_MAP
  25. END_MESSAGE_MAP()
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CTextView construction/destruction
  28. CTextView::CTextView()
  29. {
  30. }
  31. CTextView::~CTextView()
  32. {
  33. }
  34. /////////////////////////////////////////////////////////////////////////////
  35. // CTextView drawing
  36. void CTextView::OnDraw(CDC* pDC)
  37. {
  38. CMainDoc* pDoc = GetDocument();
  39. CRect rect;
  40. GetClientRect(rect);
  41. pDC->SetTextAlign(TA_BASELINE | TA_CENTER);
  42. pDC->SetTextColor(pDoc->m_colorData);
  43. pDC->SetBkMode(TRANSPARENT);
  44. // center in the window
  45. pDC->TextOut(rect.Width() / 2, rect.Height() / 2,
  46. pDoc->m_strData, pDoc->m_strData.GetLength());
  47. }
  48. int CTextView::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message)
  49. {
  50. // side-step CView's implementation since we don't want to activate
  51. //  this view
  52. return CWnd::OnMouseActivate(pDesktopWnd, nHitTest, message);
  53. }
  54. /////////////////////////////////////////////////////////////////////////////
  55. // CColorView
  56. IMPLEMENT_DYNCREATE(CColorView, CView)
  57. BEGIN_MESSAGE_MAP(CColorView, CView)
  58. //{{AFX_MSG_MAP(CColorView)
  59. ON_WM_MOUSEACTIVATE()
  60. //}}AFX_MSG_MAP
  61. END_MESSAGE_MAP()
  62. /////////////////////////////////////////////////////////////////////////////
  63. // CColorView construction/destruction
  64. CColorView::CColorView()
  65. {
  66. }
  67. CColorView::~CColorView()
  68. {
  69. }
  70. /////////////////////////////////////////////////////////////////////////////
  71. // CColorView drawing
  72. void CColorView::OnDraw(CDC* pDC)
  73. {
  74. CMainDoc* pDoc = GetDocument();
  75. CRect rect;
  76. GetClientRect(rect);
  77. // fill the view with the specified color
  78. CBrush br(pDoc->m_colorData);
  79. pDC->FillRect(rect, &br);
  80. }
  81. int CColorView::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message)
  82. {
  83. // side-step CView's implementation since we don't want to activate
  84. //  this view
  85. return CWnd::OnMouseActivate(pDesktopWnd, nHitTest, message);
  86. }
  87. void CColorView::OnActivateView(BOOL, CView*, CView*)
  88. {
  89. ASSERT(FALSE);      // output only view - should never be active
  90. }
  91. /////////////////////////////////////////////////////////////////////////////