法一:加載bmp
#define HBMP(filepath,width,hight) (HBITMAP)LoadImage(AfxGetInstanceHandle(),filepath,IMAGE_BITMAP,width,hight,LR_LOADFROMFILE|LR_CREATEDIBSECTION)
//寬高設定,應該按照控件大小取設定
CRect rect;
m_photoBmp.GetWindowRect(rect);
//靜态控價設定bitmap
m_photoBmp.ModifyStyle(0xF, SS_BITMAP | SS_CENTERIMAGE);
m_photoBmp.SetBitmap(HBMP(photoFileName, rect.Width(), rect.Height()));
或者
HBITMAP hbitmap;
CRect rect;
m_photoBmp.GetWindowRect(&rect);
hbitmap = (HBITMAP)::LoadImage(NULL, photoFileName, IMAGE_BITMAP, 96, 128, LR_LOADFROMFILE | LR_CREATEDIBSECTION);//| LR_DEFAULTSIZE
m_photoBmp.ModifyStyle(0xF, SS_BITMAP | SS_CENTERIMAGE);
m_photoBmp.SetBitmap((HBITMAP)hbitmap);
法二:加載jpg
CImage image;
if (!PathFileExists(photoFileName)) //判斷此路徑是否存在
return;
//根據路徑載入圖檔
image.Load(photoFileName);
//擷取Picture Control控件的大小
m_photoBmp.GetWindowRect(&rect);
//将客戶區選中到控件表示的矩形區域内
ScreenToClient(&rect);
//視窗移動到控件表示的區域,使控件的大小等于圖檔的大小
m_photoBmp.MoveWindow(rect.left, rect.top, rect.Width(), rect.Height(), TRUE);
CWnd *pWnd = NULL;///使用這種方法擷取控件句柄,可以動态擷取不同控件的句柄,尤其在批量控件設定時很友善
pWnd = GetDlgItem(IDC_PHOTO_STATIC);//擷取控件句柄
pWnd->GetClientRect(&rect);//擷取句柄指向控件區域的大小
CDC *pDC = NULL;
pDC = pWnd->GetDC();//擷取picture的DC
image.Draw(pDC->m_hDC, rect);//将圖檔繪制到picture表示的區域内
ReleaseDC(pDC);