.添加MFC选择文件路径,使用MessageBox显示信息。
void CMyCalLawsDlg::OnBnClickedAddfolder()
{
wchar_t* p;
wchar_t szPath[MAX_PATH]; //存放选择的目录路径
p = szPath;
CString str;
CString str2;
CString FileName;
ZeroMemory(szPath, sizeof(szPath));
BROWSEINFO bi; //windows API
bi.hwndOwner = m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = (LPSTR)szPath;
bi.lpszTitle = (LPSTR)"请选择需要打包的目录:";
bi.ulFlags = 0;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0; //弹出选择目录对话框
LPITEMIDLIST lp = SHBrowseForFolder(&bi);
if(lp && SHGetPathFromIDList(lp, (LPSTR)szPath))
{
//str.Format("选择的目录为 %s", (const wchar_t *)szPath); //不能将参数 1 从“const char [16]”转换为“const wchar_t *”
str.Format("选择的目录为 %s", p); //在你的项目属性里面把编码方式改为"使用多字节字符集"
AfxMessageBox(str);
}
else
{
str2.Format("无效的目录,请重新选择%d", 2);
AfxMessageBox(str2);
//AfxMessageBox("无效的目录,请重新选择",NULL,NULL);//error C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型 0换为NULL
}
FileFolderName = str;
CFile myFile;
//载入图像!!!
CString FileLastName;
FileFolderName ="/res/SignSample/";
FileLastName.Format("%s正样本(%d).bmp",FileFolderName, 1); //
IplImage* LoadImage;
LoadImage= cvLoadImage(FileLastName, 1);//经测试,未能载入!!!
cvShowImage("Test",LoadImage);
IplImage* ShowImage =MyResizeImage(LoadImage);
MyShowImage(ShowImage,IDC_SHOWPIC);
}
//.添加MFC选择文件路径,使用Boost方法或许更好些,可以移植!