当前位置: 代码迷 >> VC >> vc如何用CFileDialog定位到文件夹不是文件
  详细解决方案

vc如何用CFileDialog定位到文件夹不是文件

热度:288   发布时间:2016-05-05 00:11:35.0
vc怎么用CFileDialog定位到文件夹不是文件
例如定位到E:\work\listbox,而不是E:\work\listbox\1.txt;

------解决方案--------------------
static char displayname[MAX_PATH];
static char path[MAX_PATH];
     LPITEMIDLIST pidlBrowse;    // PIDL selected by user 
BROWSEINFO bi;
bi.hwndOwner = this->m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = displayname;
bi.lpszTitle = "请选择要保存接收数据的文件夹";
bi.ulFlags = BIF_EDITBOX ;
bi.lpfn = NULL;
pidlBrowse=SHBrowseForFolder( &bi);
if(pidlBrowse!=NULL)
{
SHGetPathFromIDList(pidlBrowse,path);
}
CString str=path;  //得到路径
if(str.IsEmpty()) return;  //如果没有选择,就返回
m_strCurPath=str; //接收路径编辑框对应变量
UpdateData(FALSE);