这里以一个显示图像的程序来说明,使用了OpenCV库,也可以选择不使用,那就要自己操作DC了,使用vs2008作为编译环境。
选择单文档,或多文档,在最后一步选择从CScrollView继承。
1、添加头文件
#include "highgui.h"
2、添加所需要的库
cv210.lib highgui210.lib cxcore210.lib
3、在Doc类中添加public成员变量CImage m_Img;
4、在Doc类里边添加虚函数OnOpenDocument()和OnSaveDocument(),如下代码:
BOOL CshowDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
if (!CDocument::OnOpenDocument(lpszPathName))
return FALSE;
// TODO: 在此添加您专用的创建代码
m_Img.Load(lpszPathName);
return TRUE;
}
BOOL CshowDoc::OnSaveDocument(LPCTSTR lpszPathName)
{
// TODO: 在此添加专用代码和/或调用基类
m_Img.Save(lpszPathName);
return CDocument::OnSaveDocument(lpszPathName);
}
5、在View类里德OnDraw函数里添加如下代码
void CshowView::OnDraw(CDC* pDC)
{
CshowDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: 在此处为本机数据添加绘制代码
CImage &img = pDoc->m_Img;
CRect rc;
rc.left = rc.top = 0;
rc.right = img.Width();
rc.bottom = img.Hieght();
CSize sizeTotal(rc.right, rc.bottom);
SetScrollSizes(MM_TEXT, sizeTotal);
img.DrawToHdc(pDC->GetSafeHdc(), &rc);
}