WINSHELLAPI LPITEMIDLIST WINAPI SHBrowseForFolder(
    LPBROWSEINFO lpbi
); 用这个函数 char szDir[MAX_PATH];
BROWSEINFO bi;
ITEMIDLIST *pidl;
CString strDlgTitle = "TMRInputFile.Dat"; bi.hwndOwner = this->m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = szDir;
bi.lpszTitle = strDlgTitle;
bi.ulFlags = BIF_BROWSEINCLUDEFILES ;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0; pidl = SHBrowseForFolder(&bi);
if(pidl == NULL)
return _T("");
if(!SHGetPathFromIDList(pidl, szDir))
return _T(""); m_CtrInputFile.SetWindowText( szDir );

return CString(szDir);

解决方案 »

  1.   

    用函数SHBrowseForFolder() char szDir[MAX_PATH];
    BROWSEINFO bi;
    ITEMIDLIST *pidl;
    CString strDlgTitle = "TMRInputFile.Dat"; bi.hwndOwner = this->m_hWnd;
    bi.pidlRoot = NULL;
    bi.pszDisplayName = szDir;
    bi.lpszTitle = strDlgTitle;
    bi.ulFlags = BIF_BROWSEINCLUDEFILES;
    bi.lpfn = NULL;
    bi.lParam = 0;
    bi.iImage = 0; pidl = SHBrowseForFolder(&bi);
    if(pidl == NULL)
    return _T("");
    if(!SHGetPathFromIDList(pidl, szDir))
    return _T(""); m_CtrInputFile.SetWindowText( szDir );

    return CString(szDir);
      

  2.   

    哪位有没有自编的目录选择对话框控件,ccnuxjg(暗黑执政官) 这种方法好象
    重开了个进程!