MFC的文件保存问题
比如我在客户区画了个图,现在想保存,想在保存对话框里给用户选择保存为.xxx或者.yyy,请问在哪里处理这个消息啊?我知道CFileDialog可以,但我就想用Doc里面...
比如我在客户区画了个图,现在想保存,想在保存对话框里给用户选择保存为.xxx或者.yyy,请问在哪里处理这个消息啊?
我知道CFileDialog可以,但我就想用Doc里面的..应该在哪里处理这个消息啊? 还有,我不是问保存成什么的方法,方法我知道,我只是不知道怎样处理用户的这里选择........
回3L 4L:应该怎样判断用户的选择? 还有,这样的话“打开”“保存”“另存为”都要重载一次啊?
回4L:在if里面再判断选择了哪一个扩展名啊?怎样判断? 展开
我知道CFileDialog可以,但我就想用Doc里面的..应该在哪里处理这个消息啊? 还有,我不是问保存成什么的方法,方法我知道,我只是不知道怎样处理用户的这里选择........
回3L 4L:应该怎样判断用户的选择? 还有,这样的话“打开”“保存”“另存为”都要重载一次啊?
回4L:在if里面再判断选择了哪一个扩展名啊?怎样判断? 展开
4个回答
展开全部
这样就可以了:
CFileDialog dlg(FALSE, ".xxx", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "文件格式1 (*.xxx)|*.xxx|文件格式2 (*.yyy)|*.yyy||");
if(dlg.DoModal() == IDOK)
{
CString szFileName = dlg.GetPathName();//文件名
CString ext = dlg.GetFileExt();//取得扩展名
ext.MakeLower();//转为小写
//判断文件类型
if(ext == "xxx")
{
}
else if(ext == "yyy")
{
}
//写保存代码
}
CFileDialog dlg(FALSE, ".xxx", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "文件格式1 (*.xxx)|*.xxx|文件格式2 (*.yyy)|*.yyy||");
if(dlg.DoModal() == IDOK)
{
CString szFileName = dlg.GetPathName();//文件名
CString ext = dlg.GetFileExt();//取得扩展名
ext.MakeLower();//转为小写
//判断文件类型
if(ext == "xxx")
{
}
else if(ext == "yyy")
{
}
//写保存代码
}
展开全部
用CFileDialog对话框。在msdn里查一下,有个成员函数是专门设置这个的。
重载一下onsave函数不就可以了?
在这个函数里用CFileDialog,然后把从CFileDialog得到的数据进行保存。
重载一下onsave函数不就可以了?
在这个函数里用CFileDialog,然后把从CFileDialog得到的数据进行保存。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以设置在菜单里面呀,像大部分的画图软件都是画完以后点击菜单保存,或者右键菜单,调用保存对话框O就可以了,(∩_∩)O。不过,你保存的时候是要保存什么呢、?保存数据,还是保存成一张图片,还是别的,这个才是难点。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用单文档就行了,需要保存作图的相关数据。
我有个例子,发邮件给mazheng19891019@163.com
我发你。
我有个例子,发邮件给mazheng19891019@163.com
我发你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询