OrgView.cpp
上传用户:hbrsgg1
上传日期:2014-05-08
资源大小:2826k
文件大小:2k
源码类别:

其他智力游戏

开发平台:

C/C++

  1. /*++
  2. Copyright (c) AFE(Active-Free-Elegance)
  3. Module Name:
  4.     OrgView.cpp
  5. Abstract:
  6. the originally photo's View 
  7. Author:
  8.     Weijian Luo (Arthur Luo)   15-Jun-2005
  9. E-mail: skybluehacker@yahoo.com.cn
  10. Revision History:      1.0
  11. --*/
  12. #include "stdafx.h"
  13. #include "skyblue_PinTu.h"
  14. #include "skyblue_PinTuDoc.h"
  15. #include "OrgView.h"
  16. #include "skyblue_PinTuView.h"
  17. #ifdef _DEBUG
  18. #define new DEBUG_NEW
  19. #undef THIS_FILE
  20. static char THIS_FILE[] = __FILE__;
  21. #endif
  22. /////////////////////////////////////////////////////////////////////////////
  23. // COrgView
  24. IMPLEMENT_DYNCREATE(COrgView, CView)
  25. COrgView::COrgView()
  26. {
  27. }
  28. COrgView::~COrgView()
  29. {
  30. }
  31. BEGIN_MESSAGE_MAP(COrgView, CView)
  32. //{{AFX_MSG_MAP(COrgView)
  33. // NOTE - the ClassWizard will add and remove mapping macros here.
  34. //}}AFX_MSG_MAP
  35. END_MESSAGE_MAP()
  36. /////////////////////////////////////////////////////////////////////////////
  37. // COrgView drawing
  38. //
  39. // 源图像绘制
  40. //
  41. void COrgView::OnDraw(CDC* pDC)
  42. {
  43. //获取文档数据控制权
  44. CSkyblue_PinTuDoc* pDoc = (CSkyblue_PinTuDoc*)GetDocument();
  45. //使用内存DC
  46. CDC memdc;
  47. memdc.CreateCompatibleDC(pDC);
  48. memdc.SelectObject(pDoc->m_bitmap);
  49. //整幅图拷贝
  50. pDC->BitBlt(0,0,pDoc->m_bmpWidth,pDoc->m_bmpHeight,
  51. &memdc,0,0,SRCCOPY);
  52. }
  53. /////////////////////////////////////////////////////////////////////////////
  54. // COrgView diagnostics
  55. #ifdef _DEBUG
  56. void COrgView::AssertValid() const
  57. {
  58. CView::AssertValid();
  59. }
  60. void COrgView::Dump(CDumpContext& dc) const
  61. {
  62. CView::Dump(dc);
  63. }
  64. #endif //_DEBUG
  65. /////////////////////////////////////////////////////////////////////////////
  66. // COrgView message handlers
  67. void COrgView::DrawAll(CDC *pDC)
  68. {
  69. //获取文档数据控制权
  70. CSkyblue_PinTuDoc* pDoc = (CSkyblue_PinTuDoc*)GetDocument();
  71. //使用内存DC
  72. CDC memdc;
  73. memdc.CreateCompatibleDC(pDC);
  74. memdc.SelectObject(pDoc->m_bitmap);
  75. //整幅图拷贝
  76. pDC->BitBlt(0,0,pDoc->m_bmpWidth,pDoc->m_bmpHeight,
  77. &memdc,0,0,SRCCOPY);
  78. }
  79. void COrgView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) 
  80. {
  81. if(pHint != NULL)
  82. {
  83. if(pHint->IsKindOf( RUNTIME_CLASS(CObArray) ))
  84. { //当为游戏区域由于移动方块而导致的图像更新
  85.   //这里可以不理会
  86. return;
  87. }
  88. }
  89. Invalidate(TRUE);
  90. }