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