首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CFileDialog可否获取文件夹的路径,该如何处理

2012-06-13 
CFileDialog可否获取文件夹的路径我现在想通过对话框获得文件夹的路径(不是文件)该怎么操作?CString FileP

CFileDialog可否获取文件夹的路径
我现在想通过对话框获得文件夹的路径(不是文件)该怎么操作?

CString FilePathName;
CFileDialog dlg(FALSE, _T(""), _T(""),OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY,newfile,this);
dlg.m_ofn.lpstrTitle = _T("目标文件保存"); // 标题名
if(dlg.DoModal()==IDOK)
{
  FilePathName=dlg.GetPathName();
}
类似这一段仅仅是获取了某类型的文件的路径,文件夹的路径该怎么写?(newfile是指定的文件类型)

[解决办法]
CString SelectDirectory(CString strTitle)
{
BROWSEINFO bi;
CString strDirPath;
LPITEMIDLIST pidl;
LPMALLOC pMalloc = NULL;

ZeroMemory(&bi, sizeof(bi));
bi.hwndOwner = NULL;
bi.pszDisplayName = NULL;
bi.lpszTitle = strTitle;
bi.ulFlags = BIF_EDITBOX|BIF_RETURNFSANCESTORS;
bi.lParam = NULL;
bi.iImage = 0;
pidl = SHBrowseForFolder(&bi);

if(pidl)
{
SHGetPathFromIDList(pidl, (char*)(LPCTSTR)strDirPath);
}
return strDirPath;
}

热点排行