MFC,设计一个对话框时,添加一按钮,实现保存功能?
这里的保存就像我们平常用的其他的软件一样,第一次保存相当于另存为的功能,以后再点击保存,只是更新覆盖原来的文件。比如我们把第一次点击保存把某一文件保存到桌面,以后再点保存...
这里的保存就像我们平常用的其他的软件一样,第一次保存相当于另存为的功能,以后再点击保存,只是更新覆盖原来的文件。比如我们把第一次点击保存把某一文件保存到桌面,以后再点保存时,只是更新了这个文件的内容,不需要在选择保存路径了。这一功能如何实现?
展开
5个回答
展开全部
增加一个成员变量为bool类型的,表示是否已经保存过.再加一个CString类型的,记录上次保存的路径.
在你单击按钮的事件里,判断bool的是否为真,如果为真,就是已经保存过,直接再保存到CString记录的路径文件里,不弹出对话框,反之
在你单击按钮的事件里,判断bool的是否为真,如果为真,就是已经保存过,直接再保存到CString记录的路径文件里,不弹出对话框,反之
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用CFileDialog (BOOL bOpenFileDialog,LPCTSTR lpszDefExt =DULL,
LPCTSTR lpszFileName =NULL,
DWORD dwFlags =OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter =NULL,CWnd* pParentWnd=NULL); 这个函数 能实现保存文件, 第一个参数用FALSE是保存 TRUE是文件打开的 然后显示对话框:
if(dlg.DoModal()==IDOK)
{
CString str=dlg.GetPathName(); //获取路径名
................
...................
..................
.................
}
LPCTSTR lpszFileName =NULL,
DWORD dwFlags =OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter =NULL,CWnd* pParentWnd=NULL); 这个函数 能实现保存文件, 第一个参数用FALSE是保存 TRUE是文件打开的 然后显示对话框:
if(dlg.DoModal()==IDOK)
{
CString str=dlg.GetPathName(); //获取路径名
................
...................
..................
.................
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-05-24
展开全部
用一全局变量
CString currentSaveFilename;
if(currentSaveFilename == "")
{
//调用选择保存路径
CFileDialog dlg(FALSE,"my data","*.txt;*.dat");
if(dlg.DoModal() == IDOK)
m_currentSaveFilename = dlg.GetPathName();
}
if(currentSaveFilename != "")
{
//写文件
}
CString currentSaveFilename;
if(currentSaveFilename == "")
{
//调用选择保存路径
CFileDialog dlg(FALSE,"my data","*.txt;*.dat");
if(dlg.DoModal() == IDOK)
m_currentSaveFilename = dlg.GetPathName();
}
if(currentSaveFilename != "")
{
//写文件
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这。。。童鞋,MDI和SDI都默认有这个功能,你是不知道呢?还是这个功能是你们特殊需求?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
增加一个成员变量标示一下保存状态就行了啊,很easy啊
追问
能不能说的具体一点,我是个初学者,谢谢!或发到我邮箱young_tsao@126.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询