MFC获取打开目录路径和获取文件路径

来源:互联网 发布:java自带解密算法 编辑:程序博客网 时间:2024/05/25 20:00

获取目录路径方法1:

[cpp] view plain copy
print?在CODE上查看代码片派生到我的代码片
  1. CString  FullPath;  
  2. BROWSEINFO bi;                        //BROWSEINFO结构体  
  3. TCHAR Buffer[512]=“”;  
  4. TCHAR FullPaths[512]=“”;  
  5. bi.hwndOwner = m_hWnd;                    //m_hWnd你的程序主窗口  
  6. bi.pidlRoot = NULL;  
  7. bi.pszDisplayName = Buffer;                //返回选择的目录名的缓冲区  
  8. bi.lpszTitle = ”请选择BMP文件”;            //弹出的窗口的文字提示  
  9. bi.ulFlags = NULL;//BIF_RETURNONLYFSDIRS|BIF_EDITBOX|BIF_BROWSEFORCOMPUTER ;    //只返回目录。其他标志看MSDN  
  10. bi.lpfn = NULL;                        //回调函数,有时很有用  
  11. bi.lParam = 0;  
  12. bi.iImage = 0;  
  13. ITEMIDLIST* pidl = ::SHBrowseForFolder (&bi);        //显示弹出窗口,ITEMIDLIST很重要  
  14. ::SHGetPathFromIDList (pidl,FullPaths);        //在ITEMIDLIST中得到目录名的整个路径  
  15. if(FullPaths[0]!=NULL)  
  16. {  
  17.     m_filepath=FullPaths;  
  18.     UpdateData(FALSE);  
  19. }  
  CString  FullPath;    BROWSEINFO bi;                        //BROWSEINFO结构体    TCHAR Buffer[512]="";    TCHAR FullPaths[512]="";    bi.hwndOwner = m_hWnd;                    //m_hWnd你的程序主窗口    bi.pidlRoot = NULL;    bi.pszDisplayName = Buffer;                //返回选择的目录名的缓冲区    bi.lpszTitle = "请选择BMP文件";            //弹出的窗口的文字提示    bi.ulFlags = NULL;//BIF_RETURNONLYFSDIRS|BIF_EDITBOX|BIF_BROWSEFORCOMPUTER ;    //只返回目录。其他标志看MSDN    bi.lpfn = NULL;                        //回调函数,有时很有用    bi.lParam = 0;    bi.iImage = 0;    ITEMIDLIST* pidl = ::SHBrowseForFolder (&bi);        //显示弹出窗口,ITEMIDLIST很重要    ::SHGetPathFromIDList (pidl,FullPaths);        //在ITEMIDLIST中得到目录名的整个路径    if(FullPaths[0]!=NULL)    {        m_filepath=FullPaths;        UpdateData(FALSE);    }

获取目录路径方法2:

[cpp] view plain copy
print?在CODE上查看代码片派生到我的代码片
  1. TCHAR   szPath[MAX_PATH]={0};  
  2. LPITEMIDLIST   pitem;  
  3. BROWSEINFO   info;  
  4. ::ZeroMemory(&info,sizeof(info));  
  5. info.hwndOwner=this->m_hWnd;    
  6. info.lpszTitle=_T( ”Choose   the   Folder: ”);  
  7. info.pszDisplayName = szPath;  
  8. if(pitem=::SHBrowseForFolder(&info))  
  9. {  
  10.     ::SHGetPathFromIDList(pitem,szPath);  
  11.     m_filepath=szPath;  
  12.     UpdateData(FALSE);  
  13. }   
    TCHAR   szPath[MAX_PATH]={0};    LPITEMIDLIST   pitem;    BROWSEINFO   info;    ::ZeroMemory(&info,sizeof(info));    info.hwndOwner=this->m_hWnd;      info.lpszTitle=_T( "Choose   the   Folder: ");    info.pszDisplayName = szPath;    if(pitem=::SHBrowseForFolder(&info))    {        ::SHGetPathFromIDList(pitem,szPath);        m_filepath=szPath;        UpdateData(FALSE);    } 
获取文件路径:

[cpp] view plain copy
print?在CODE上查看代码片派生到我的代码片
  1. CFileDialog dlg(TRUE);  
  2. if(dlg.DoModal()==IDOK)  
  3. {  
  4.     m_filepath=dlg.GetPathName();  
  5.     UpdateData(FALSE);  
  6. }  
    CFileDialog dlg(TRUE);    if(dlg.DoModal()==IDOK)    {        m_filepath=dlg.GetPathName();        UpdateData(FALSE);    }



0 0
原创粉丝点击