matcherView2.cpp
上传用户:quan1896
上传日期:2013-04-17
资源大小:94k
文件大小:3k
源码类别:

2D图形编程

开发平台:

Visual C++

  1. // matcherView2.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "matcher.h"
  5. #include "matcherDoc.h"
  6. #include "matcherView2.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CMatcherView2
  14. IMPLEMENT_DYNCREATE(CMatcherView2, CScrollView)
  15. CMatcherView2::CMatcherView2()
  16. {
  17. }
  18. CMatcherView2::~CMatcherView2()
  19. {
  20. }
  21. BEGIN_MESSAGE_MAP(CMatcherView2, CScrollView)
  22. //{{AFX_MSG_MAP(CMatcherView2)
  23. // NOTE - the ClassWizard will add and remove mapping macros here.
  24. //}}AFX_MSG_MAP
  25. END_MESSAGE_MAP()
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CMatcherView2 drawing
  28. void CMatcherView2::OnInitialUpdate()
  29. {
  30. CScrollView::OnInitialUpdate();
  31. CSize sizeTotal;
  32. // TODO: calculate the total size of this view
  33. sizeTotal.cx = sizeTotal.cy = 100;
  34. SetScrollSizes(MM_TEXT, sizeTotal);
  35. }
  36. void CMatcherView2::OnDraw(CDC* pDC)
  37. {
  38. CMatcherDoc* pDoc = GetDocument();
  39. // TODO: add draw code here
  40.     m_frame2.Show(pDC->GetSafeHdc(),0,0,pDoc->m_imgsize2.width,pDoc->m_imgsize2.height,0,0);
  41. ReleaseDC(pDC);
  42. }
  43. /////////////////////////////////////////////////////////////////////////////
  44. // CMatcherView2 diagnostics
  45. #ifdef _DEBUG
  46. void CMatcherView2::AssertValid() const
  47. {
  48. CScrollView::AssertValid();
  49. }
  50. void CMatcherView2::Dump(CDumpContext& dc) const
  51. {
  52. CScrollView::Dump(dc);
  53. }
  54. #endif //_DEBUG
  55. //需要将此函数放在DEBUG外,否则出现链接错误(inline?????)
  56. CMatcherDoc* CMatcherView2::GetDocument() // non-debug version is inline
  57. {
  58. ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMatcherDoc)));
  59. return (CMatcherDoc*)m_pDocument;
  60. }
  61. /////////////////////////////////////////////////////////////////////////////
  62. // CMatcherView2 message handlers
  63. void CMatcherView2::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) 
  64. {
  65. // TODO: Add your specialized code here and/or call the base class
  66. CMatcherDoc* pDoc = GetDocument();
  67. //使Scrollbar符合图像大小
  68. if(pDoc->IMG2OPEN)
  69. SetScrollSizes(MM_TEXT,CSize(pDoc->m_imgsize2.width,pDoc->m_imgsize2.height));
  70. //保证每次创建的显示图像内存大小与待打开图像大小一致
  71. m_frame2.Create(pDoc->m_imgsize2.width,pDoc->m_imgsize2.height,24);
  72. //填充显示图像内存区域
  73. if(pDoc->IMG2OPEN)
  74. {
  75.   ShownImage2=m_frame2.GetImage();
  76. cvSetImageROI(ShownImage2,cvRect(0,0,pDoc->m_imgsize2.width,pDoc->m_imgsize2.height));
  77. cvCopy(pDoc->showImg2,ShownImage2);
  78. Invalidate(FALSE);
  79. }
  80. }
  81. void CMatcherView2::ShowHitPoint(CvPoint point)
  82. {
  83. }