// 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 样式转换或函数样式转换
解决办法:打开菜单栏->“项目"->项目属性”->更改默认字符为“使用多字节字符集”。