none
vc中怎样实现另存为??希望大家不吝赐教 RRS feed

  • 问题

  • 还是我,我写了一个五子棋的小程序,里面有一个函数是用来保存数据的,其中建立了一个文件,但这个文件只能保存在规定的那个放整个程序的文件夹里面,我想将它任意的存放,怎么实现啊?比方说,我一点对话框上的“保存”控件,就会弹出一个对话框,可以在里面设置保存的路径

    2008年12月24日 9:51

答案

  • 看你的描述现在应该已经有了自己的保存文件,只是不知道如何让用户指定到任意位置。一下代码可以谈出一个文件夹选择的窗口,并获得用户选择的目录。

    Code Snippet

    void CChemModifierDlg::OnBrowse()
    {
     CString csFolderPath;
     BROWSEINFO   bi;      
     TCHAR   szDispname[MAX_PATH];
     TCHAR szPath[MAX_PATH];      
     ITEMIDLIST*   pidl;      
     
     bi.hwndOwner   =   0;      
     bi.pidlRoot   =   0;      
       
     bi.pszDisplayName   =   szDispname;      
     bi.lpszTitle   =   _T("Ñ¡ÔñÎļþ¼Ð");      
     bi.ulFlags   =   BIF_RETURNONLYFSDIRS;      
     bi.lpfn   =   0;      
     bi.lParam   =   0;      
     bi.iImage   =   0;      
     
     if   (pidl   =   SHBrowseForFolder(&bi))  
     {      
      if(   SHGetPathFromIDList(pidl,   szPath)   ==   TRUE   )  
      {
       csFolderPath   =   szPath;  
      }
      else
      {
       csFolderPath.Empty();  
      }

     }

    }

     

     

     

    2008年12月25日 2:11
    版主

全部回复

  • 使用CFileDialog类就可以了。

    2008年12月25日 2:07
  • 看你的描述现在应该已经有了自己的保存文件,只是不知道如何让用户指定到任意位置。一下代码可以谈出一个文件夹选择的窗口,并获得用户选择的目录。

    Code Snippet

    void CChemModifierDlg::OnBrowse()
    {
     CString csFolderPath;
     BROWSEINFO   bi;      
     TCHAR   szDispname[MAX_PATH];
     TCHAR szPath[MAX_PATH];      
     ITEMIDLIST*   pidl;      
     
     bi.hwndOwner   =   0;      
     bi.pidlRoot   =   0;      
       
     bi.pszDisplayName   =   szDispname;      
     bi.lpszTitle   =   _T("Ñ¡ÔñÎļþ¼Ð");      
     bi.ulFlags   =   BIF_RETURNONLYFSDIRS;      
     bi.lpfn   =   0;      
     bi.lParam   =   0;      
     bi.iImage   =   0;      
     
     if   (pidl   =   SHBrowseForFolder(&bi))  
     {      
      if(   SHGetPathFromIDList(pidl,   szPath)   ==   TRUE   )  
      {
       csFolderPath   =   szPath;  
      }
      else
      {
       csFolderPath.Empty();  
      }

     }

    }

     

     

     

    2008年12月25日 2:11
    版主