在MFC中,经常用到选择文件夹的通用对话框,本事例给出一般调用函数,点击按钮即弹出选则文件夹的对话框。
void CToolDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
ITEMIDLIST *m_pidl;
wchar_t szDir[MAX_PATH];
BROWSEINFO bi;
bi.hwndOwner = this->m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = szDir;
bi.lpszTitle = L"请选择目录";
bi.ulFlags = BIF_STATUSTEXT | BIF_USENEWUI | BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = NULL;
bi.iImage = 0;
m_pidl = SHBrowseForFolder(&bi);
if(m_pidl == NULL) return;
if(!SHGetPathFromIDList(m_pidl, szDir)) return;
m_desDir=szDir;
UpdateData(FALSE);
}