不用自定义。
SHBrowserForFolder即可。

解决方案 »

  1.   

    只有定制系统对话框了。
    留email,给你发个例子。
      

  2.   

    不好意思,改一下,[email protected]
      

  3.   

    看看这个是不是你想要的:
    BROWSEINFO browse;
    ZeroMemory(&browse,sizeof(browse)); CString m_strPath;
    browse.hwndOwner = NULL;
    browse.pszDisplayName = m_strPath.GetBuffer(MAX_PATH);
    browse.lpszTitle = "请您选择一个目录"; LPITEMIDLIST lpItem = SHBrowseForFolder(&browse);
    if(lpItem == NULL) return ; m_strPath.ReleaseBuffer();
    if(SHGetPathFromIDList(lpItem,m_strPath.GetBuffer(MAX_PATH)) == false) return; m_strPath.ReleaseBuffer();
      

  4.   

    使用外壳命令得到的路径是文件系统相对于根路径的路径,如何得到类似于C:\tools\download这样的路径。
      

  5.   

    仔细看CFileDialog的源代码,之后修改应该可以,或者派生处理