1 利用VS2010向导创建一个MFC单文档应用程序MFCTest
2 在MFCTestView.h中引用<atlimage.h>,并创建一个CImage对象
#include <atlimage.h>
private:
CImage image;
3 打开资源文件,选中Menu下面的IDR_MAINFRAME,添加一个新的菜单项“打开图像”,修改其ID为IDM_OPEN,再点击鼠标右键,添加事件处理程序,在弹出的对话框的列表中选择CMFCTestView
4 添加事件处理函数OnOpen的代码
void CMFCTestView::OnOpen()
{
// TODO: 在此添加命令处理程序代码
CFileDialog dlg(TRUE, _T(".bmp"), _T("*.bmp"), OFN_HIDEREADONLY |
OFN_OVERWRITEPROMPT, _T("位图文件(*.bmp)|*.bmp|JPEG文件(*.jpg)|*.jpg||"));
if(dlg.DoModal() == IDOK)
{
if(!image.IsNull())
{
image.Destroy();
}
image.Load(dlg.GetPathName());
Invalidate();
}
}
5 在MFCTestView中加入图像显示的代码
void CMFCTest2View::OnDraw(CDC* pDC)
{
CMFCTest2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: 在此处为本机数据添加绘制代码
if(!image.IsNull())
{
image.Draw(pDC->GetSafeHdc(), 0, 0);
}
}
效果如下: