主题:[讨论]怎样在保存已有文件时弹出提示对话框啊?
各位高手,我在一个按钮的响应函数中实现保存对话框,的部分代码如下:
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已存在,要替换它吗?”,有“是”和“否”按钮可选择,请问该如何实现这样的功能?先在此拜谢了!
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已存在,要替换它吗?”,有“是”和“否”按钮可选择,请问该如何实现这样的功能?先在此拜谢了!