// TODO: 添加位圖打開操作
CString ImagePathName;
CFileDialog dlg(TRUE,"bmp",".bmp",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"Bitmap(*.BMP)|*.BMP||");//設定檔案對話框類對象變量
HBITMAP m_hImage;//設定圖像檔案類對象變量
if (dlg.DoModal()!=IDOK)return;//如果對話框類選擇了檔案
ImagePathName=dlg.GetPathName();
//擷取圖像資料句柄
m_hImage=(HBITMAP)LoadImage(AfxGetInstanceHandle(),dlg.GetPathName(),IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
GetDlgItem(IDC_STATIC_IMAGE)->SendMessage(STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)m_hImage);//IDC_STATIC_IMAGE為第一個添加的圖像框
編譯出現 :
error C2664: “CFileDialog::CFileDialog(BOOL,LPCTSTR,LPCTSTR,DWORD,LPCTSTR,CWnd *,DWORD,BOOL)”: 不能将參數 2 從“const char [4]”轉換為“LPCTSTR”與指向的類型無關;轉換要求 reinterpret_cast、C 樣式轉換或函數樣式轉換
解決辦法:打開菜單欄->“項目"->項目屬性”->更改預設字元為“使用多位元組字元集”。