// TODO: 在此添加控件通知处理程序代码
TCHAR szFolderPath[MAX_PATH] = { 0 };
CString strFolderPath;
BROWSEINFO sInfo;
::ZeroMemory(&sInfo, sizeof(BROWSEINFO));
sInfo.pidlRoot = 0;
sInfo.lpszTitle = _T("请选择一个文件夹:");
sInfo.ulFlags = BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE | BIF_EDITBOX;
if (!m_strFolderDirPath.IsEmpty())
{
sInfo.hwndOwner = GetSafeHwnd();
sInfo.lpfn = BrowseCallbackProc;
sInfo.lParam = (LPARAM)(LPCWSTR)m_strFolderDirPath;
sInfo.pszDisplayName = (LPWSTR)(LPCWSTR)m_strFolderDirPath;
}
else
{
sInfo.lpfn = NULL;
}
// 显示文件夹选择对话框
LPITEMIDLIST lpidlBrowse = ::SHBrowseForFolder(&sInfo);
if (lpidlBrowse != NULL)
{
// 取得文件夹名
if (::SHGetPathFromIDList(lpidlBrowse, szFolderPath))
{
strFolderPath = szFolderPath;
}
}
if (lpidlBrowse != NULL)
{
::CoTaskMemFree(lpidlBrowse);
}
GetDlgItem(IDC__EDIT_DIR_PATH)->SetWindowText(strFolderPath);
TCHAR szFolderPath[MAX_PATH] = { 0 };
CString strFolderPath;
BROWSEINFO sInfo;
::ZeroMemory(&sInfo, sizeof(BROWSEINFO));
sInfo.pidlRoot = 0;
sInfo.lpszTitle = _T("请选择一个文件夹:");
sInfo.ulFlags = BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE | BIF_EDITBOX;
if (!m_strFolderDirPath.IsEmpty())
{
sInfo.hwndOwner = GetSafeHwnd();
sInfo.lpfn = BrowseCallbackProc;
sInfo.lParam = (LPARAM)(LPCWSTR)m_strFolderDirPath;
sInfo.pszDisplayName = (LPWSTR)(LPCWSTR)m_strFolderDirPath;
}
else
{
sInfo.lpfn = NULL;
}
// 显示文件夹选择对话框
LPITEMIDLIST lpidlBrowse = ::SHBrowseForFolder(&sInfo);
if (lpidlBrowse != NULL)
{
// 取得文件夹名
if (::SHGetPathFromIDList(lpidlBrowse, szFolderPath))
{
strFolderPath = szFolderPath;
}
}
if (lpidlBrowse != NULL)
{
::CoTaskMemFree(lpidlBrowse);
}
GetDlgItem(IDC__EDIT_DIR_PATH)->SetWindowText(strFolderPath);