请教一个关于文件保存的问题 小弟做了一个基于对话框的阅读器,用的是自己做的浮动工具条,所以一些原来MFC自动生成的功能要自己写,问一下“另存为”那个功能该怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CFileDialog就行吧?第一個參數設成false就是另存,true就是打開不知道你問的是不是這個? CString CCsDlg::FileSave(){ OPENFILENAME ofn ; TCHAR szFullName[_MAX_PATH]; ::ZeroMemory (&ofn, sizeof(OPENFILENAME)) ; szFullName[0] = TEXT('\0') ; ofn.lStructSize = sizeof (OPENFILENAME) ; ofn.hwndOwner = m_hWnd; ofn.hInstance = NULL ; ofn.lpstrFilter = "exe 文件\0;*.EXE\0"; ofn.lpstrCustomFilter = NULL ; ofn.nMaxCustFilter = 0 ; ofn.nFilterIndex = 0 ; ofn.nMaxFile = MAX_PATH ; ofn.nMaxFileTitle = MAX_PATH ; ofn.lpstrInitialDir = "c:\\" ; ofn.lpstrTitle = "保存到"; ofn.lpstrFile = szFullName ; ofn.nFileExtension = 0 ; ofn.lpstrDefExt = TEXT("exe") ; ofn.lCustData = 0 ; ofn.lpfnHook = NULL ; ofn.lpTemplateName = NULL ; ofn.Flags = OFN_ENABLESIZING | OFN_OVERWRITEPROMPT ; if(!GetOpenFileName(&ofn)) return ""; else return ofn.lpstrFile; } CFileDialog cSaveDlg(FALSE, ...);cSaveDlg.DoModal(); // 显示另存为对话框 楼主你的意思是不是要把你写好的文字另存为别的文件呢那你只要用CFileDialog把第一个参数BOOL bOpenFileDialog设成为false就行了试试吧................................................................................................................................................. 我做的阅读器类似Acrobat,也是读入txt文件后显示在位图上,暂时还不支持修改,所以只要能把原来那个文本文件另存为另一个文件名的就可以了 你要做的工作:首先利用ClassWizard建立函数OnFileSaveAs(); 然后在实现的函数体中加入: CFileDialog fdlg(false); //文件存取对话框 fdlg.DoModal(); //显示对话框 输入你的文件名,MFC自动为你完成 如果要显示在Edit Box中,你需要把文件内容读出到Edit Box的变量中,再UpdateData(false);就可以了! 楼上的,我要的不是一个save as对话框啊,是要可以真正保存的,而不只是一个对话框 先用CFileDialog弹出对话框得到文件名(GetPathName),然后把你现在编辑并保存好的文件拷贝:CopyFile 别的公司都可以随便用微软的商标吗? 运行正常,调试错误,怎么回事? 求递归算法 用setwindowtext("fff")无法对edit text 重新赋值 VC里面嵌入汇编,能支持16位形式的设置中断/响应中断么? 未知的Server,未知的Client,怎么连接? 大家都上什么样的国外网站,技术方面的 我公司现在需要招聘一名兼职VC程序员 CopyFile的奇怪问题 如何用鼠标双击的消息驱动桌面上的文件,使之打开! 为什么我在打开《WINDOWS核心编程》的源代码的文件中的*dsw的时候出错? 请教一个关于分割窗口方案的问题
{
OPENFILENAME ofn ;
TCHAR szFullName[_MAX_PATH];
::ZeroMemory (&ofn, sizeof(OPENFILENAME)) ;
szFullName[0] = TEXT('\0') ;
ofn.lStructSize = sizeof (OPENFILENAME) ;
ofn.hwndOwner = m_hWnd;
ofn.hInstance = NULL ;
ofn.lpstrFilter = "exe 文件\0;*.EXE\0";
ofn.lpstrCustomFilter = NULL ;
ofn.nMaxCustFilter = 0 ;
ofn.nFilterIndex = 0 ;
ofn.nMaxFile = MAX_PATH ;
ofn.nMaxFileTitle = MAX_PATH ;
ofn.lpstrInitialDir = "c:\\" ;
ofn.lpstrTitle = "保存到";
ofn.lpstrFile = szFullName ;
ofn.nFileExtension = 0 ;
ofn.lpstrDefExt = TEXT("exe") ;
ofn.lCustData = 0 ;
ofn.lpfnHook = NULL ;
ofn.lpTemplateName = NULL ;
ofn.Flags = OFN_ENABLESIZING | OFN_OVERWRITEPROMPT ;
if(!GetOpenFileName(&ofn))
return "";
else
return ofn.lpstrFile;
}
cSaveDlg.DoModal(); // 显示另存为对话框
那你只要用CFileDialog
把第一个参数BOOL bOpenFileDialog设成为false就行了试试吧
................................
............................
........................
....................
................
............
........
....
.
然后在实现的函数体中加入:
CFileDialog fdlg(false); //文件存取对话框
fdlg.DoModal(); //显示对话框
输入你的文件名,MFC自动为你完成
如果要显示在Edit Box中,你需要把文件内容读出到Edit Box的变量中,再UpdateData(false);就可以了!
CopyFile