回 帖 发 新 帖 刷新版面

主题:[讨论]怎样在保存已有文件时弹出提示对话框啊?

各位高手,我在一个按钮的响应函数中实现保存对话框,的部分代码如下: 
void CXX::OnExport() 

  …… 
  //strFileName为默认的文件保存名称,在这里是默认生成一个文件夹,再把文件复制进去 
  CFileDialog dlg(FALSE,"htm",strFileName,OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY,"文件夹",this); 
  dlg.m_ofn.lpstrTitle=_T("保存报告"); 
  dlg.m_ofn.lpstrInitialDir=projectPath; 
  CString folderName; 
  
  if(dlg.DoModal()==IDOK) 
  { 
      CString savedFileName=dlg.GetPathName(); 

      if(!SetCurrentDirectory(folderName)) 
      { 
         CreateDirectory(folderName,NULL); 
     CopyFile(modelFileName,savedFileName,FALSE); 
      } 
      else 
      { 
    ?? 
      } 
  } 

  …… 
}  
 我第一次按“保存”按钮可以正常生成一个文件夹,但以后仍在该路径保存文件夹时,就会进入原来建的文件夹再建一个同名文件夹,一直这样层叠下去,我希望当已存在同名文件夹时能弹出一个提示对话框“文件夹XXX已存在,要替换它吗?”,有“是”和“否”按钮可选择,请问该如何实现这样的功能?先在此拜谢了!

回复列表 (共1个回复)

沙发

逻辑很简单。。。你 的folderName都不 知道在 哪里 初始化 的 。。。用::FindFirstFile可以遍历文件夹和文件。。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册