靜態加載
001:新建對話框工程,加入picture控件,修改屬性 把picture控件中的type設置為bitmap類型 , 關聯變量為m_Bmp(類型為control),
002:雙擊按鈕,在消息處理函數中添加
HBITMAP hBitmap;
hBitmap = ::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1));
m_Bmp.SetBitmap(hBitmap); /***IDB_BITMAP1是你載入資源中位圖的ID號***/
動態加載
動態載入就是不用事先把位圖導入資源,直接在程序運行的時候,彈出一個文件選擇對話框,選擇你想要顯示的對話框即可。此列中依舊要把picture控件中的type設置為bitmap類型,否則會出現圖片顯示不出來的問題。
和以上靜態顯示唯一的區別只體現在按鈕的消息處理函數中,此列中的消息處理函數內容為
CString m_strfile; /***你在文件選擇對話框中選中的文件名***/
CRect r;
GetClientRect(&r);
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
"Bmp files(*.bmp)|*.bmp|",NULL);
if(dlg.DoModal ())
{
m_strfile=dlg.GetPathName ();
}
HBITMAP hbitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),
m_strfile,
IMAGE_BITMAP,
r.Width()/2,
r.Height()/2,
LR_LOADFROMFILE);
m_Bmp.SetBitmap(hbitmap);
總結:圖片的顯示處理可以使用CxImage庫。
CxImage類庫是一個優秀的圖像操作類庫。它可以快捷地存取、顯示、轉換各種圖像。功能強大齊全。