1 首先创建一个基于对话框的mfc应用程序mfcdlgtest
2 打开资源视图,插入新的对话框,修改id为idd_showimgdlg,右击对话框,添加类cshowimgdlg。在showimgdlg.h头文件中包含<atlimage.h>头文件,并建立cimage对象
3 删除对话框中的无关控件,添加一个新按钮“打开图像”,修改其id为idc_open,并添加事件处理程序,类选择刚刚创建的cshowimgdlg
4 添加按钮点击事件代码
5 重写cshowimgdlg类的onpaint()方法,由于类向导中没有找到onpaint()虚函数,故采用手动添加的方式。
首先在showimgdlg头文件中添加函数声明:
然后在showimgdlg.cpp文件中添加onpaint()函数的代码:
仅做出上述改动时发现,在对话框中选择图片文件后,未能在对话框中打开,原因是手动添加的onpaint()函数没有被调用,因此需要在showimgdlg.cpp文件的添加on_wm_paint()代码,如下:
6 最后,因为我们添加的对话框不是默认的主对话框,因此需要将mfcdlgtest.cpp中cmfcdlgtestapp::initinstance()函数的如下代码注释:
并添加如下代码:
显示效果如下:

转载:http://blog.csdn.net/foreverling/article/details/40085431