怎么在CFileDialog(FALSE,.......)指定了路径,但是文件名使用我自己定义的:
我实现的是强制修改文件名,觉得这样似乎不合乎情理,即不管输入什么,比如12345 最后得到 good.txt (good是我强制给的文件名),想请高手赐教好的解决方法,最好是能给出代码。
解决方法:使得输入文件名的编辑框无效(不能进行输入操作),最好是打开CFileDialog就把我的good放在编辑框上固定 
请高手赐教,谢谢!!!

解决方案 »

  1.   

    CFileDialog中有一EDIT,想办法将它变成只读的试试
      

  2.   

    我现在的问题就是要怎么才能对这个EDIT进行操作?请你说详细点吧
      

  3.   

    CFileDialog ff(.....);
    CString strPath,strFile;
    strPath=ff.GetPathName();
    strFile=ff.GetFileName();
    strPath.Raplace(strFile,"good.text");
    strPath就是要保存的路径了
      

  4.   

    首先还是谢谢楼上这位兄弟。
    我已经可以上面的功能,我要做的是CFileDialog打开以后固定其中那个EDIT控件,而不是强制修改文件名。不好意思,让你误解了。
      

  5.   

    自己画一个很像CFileDialog的对话框实现吧
      

  6.   

    呵呵,这确实是个好办法,但是比较麻烦,对单个EDIT操作非常简单,但是怎么对打开CFileDialog后里面的EDIT操作,所以想了解一下此类型解决的办法,麻烦哪位高手再给我指点一下。
      

  7.   

    我已经找到解决的办法了,不使用CFileDialog函数,换个函数用。呵呵,还是谢谢你们。
    结帖了,给分。
      

  8.   

    其实还有一个只保存路径的方法,代码如下:
    {
     ::CoInitialize(NULL);  
     LPITEMIDLIST  pidlPath;  
     char  pszDplName[MAX_PATH];  
     BROWSEINFO  biFile;  
     IMalloc  *pDllMlc;  
     biFile.hwndOwner  =  m_hWnd;  
     biFile.pidlRoot  =  NULL;  
     biFile.pszDisplayName  =  NULL;  
     biFile.lpszTitle  =  "选择文件夹";  
     biFile.ulFlags  =  BIF_RETURNFSANCESTORS;  
     biFile.lpfn = NULL;  
     biFile.lParam  =  NULL;  
     biFile.iImage  =  0;  
     if(SUCCEEDED(SHGetMalloc(&pDllMlc)))  
     {  
      pidlPath=SHBrowseForFolder(&biFile);  
      if(pidlPath  !=  NULL)  
      {
       SHGetPathFromIDList(pidlPath,pszDplName);   CString path;
       path.Format("%s",pszDplName);//得到文件夹的路径地址
      }
      else 
       return;  
      pDllMlc->Free(NULL);  
      pDllMlc->Release();  
     }  
     ::CoUninitialize();
    }
      

  9.   

    红猪,你是第一个CSDN上回复我的人,呵呵,给你多点分数,交个朋友吧 !!!