怎样编程实现目录选择对话框?注意不是文件对话框?谢谢先。

解决方案 »

  1.   

    用:SHBrowseForFolder如:
    BROWSEINFO  stBrowseInfo;
    ITEMIDLIST *pstItemIdList; 
    TCHAR        acFilePath[_MAX_PATH]; // open select directory dialog
    memset(&stBrowseInfo, 0, sizeof(BROWSEINFO));
    stBrowseInfo.ulFlags = BIF_RETURNONLYFSDIRS;  pstItemIdList = SHBrowseForFolder(&stBrowseInfo);
    SHGetPathFromIDList(pstItemIdList, acFilePath);
      

  2.   

    BROWSEINFO bi;
       TCHAR szDir[MAX_PATH];
       LPITEMIDLIST pidl;
       LPMALLOC pMalloc;
       if (SUCCEEDED(SHGetMalloc(&pMalloc)))
       {
       ZeroMemory(&bi, sizeof(bi));    bi.hwndOwner = this->m_hWnd;
       bi.pszDisplayName = 0;
       bi.pidlRoot = 0;
       bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_VALIDATE ;    
          pidl = SHBrowseForFolder(&bi);
          if (pidl)
          {
             if (SHGetPathFromIDList(pidl,szDir))
             {
             }
             
     pMalloc->Free(pidl);
     pMalloc->Release();
          }///   }