函数
int FolderBrowser(char path[MAX_PATH],char *title="请选择:")
{
BROWSEINFO bi;
ITEMIDLIST *pidl;
bi.hwndOwner=NULL;
bi.pidlRoot=NULL;
bi.pszDisplayName=path;
bi.lpszTitle=title;
bi.ulFlags=BIF_EDITBOX;
bi.lpfn=NULL;
bi.lParam=0;
bi.iImage=0;
pidl=SHBrowseForFolder(&bi);
return (pidl && SHGetPathFromIDList(pidl,path));
}
{
BROWSEINFO bi;
ITEMIDLIST *pidl;
bi.hwndOwner=NULL;
bi.pidlRoot=NULL;
bi.pszDisplayName=path;
bi.lpszTitle=title;
bi.ulFlags=BIF_EDITBOX;
bi.lpfn=NULL;
bi.lParam=0;
bi.iImage=0;
pidl=SHBrowseForFolder(&bi);
return (pidl && SHGetPathFromIDList(pidl,path));
}
调用方法:
void CDownloadFileDlg::OnButton1()
{
UpdateData();
char buf[MAX_PATH]={0};
if(FolderBrowser(buf))
{
m_path=buf;
UpdateData(FALSE);
}
}
{
UpdateData();
char buf[MAX_PATH]={0};
if(FolderBrowser(buf))
{
m_path=buf;
UpdateData(FALSE);
}
}
本文介绍了一个使用Windows API实现的文件夹选择对话框函数。该函数通过调用SHBrowseForFolder来显示一个允许用户选择文件夹的对话框,并将所选路径返回到应用程序中。
687

被折叠的 条评论
为什么被折叠?



