天天看点

vs2010 MFC打开文件对话框问题

// 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 样式转换或函数样式转换

解决办法:打开菜单栏->“项目"->项目属性”->更改默认字符为“使用多字节字符集”。

vs2010 MFC打开文件对话框问题

继续阅读