MFC如何将文档默认保存为指定的扩展名?

Kusk 2001-12-01 07:59:16
我是指用户在另存为对话框中如果没有输入扩展名,自动加上扩展名~
重载OnSave吗?我不是很清楚,望指点一二。
...全文
677 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kusk 2001-12-08
  • 打赏
  • 举报
回复
我重新生成了一个工程,用zhouqiming(碰碰车)的方法在第四步设置扩展名,然后发现的确是在rc中有相关设置,不过和上面朋友所说的不大一样,我这里是在IDR_MAINFRAME中改的,已经OK了。前面的很多介绍朋友通过设置CFileDialog的方法由于我找不到调用CFileDialog的代码段(我是MFC生成的框架,保存时自动调用CFileDialog.DoModal())所以没有试,不过仍然非常感谢所有的朋友这几天没有时间上网,所以今天来有些迟了,在此表示抱歉。
wormholes 2001-12-03
  • 打赏
  • 举报
回复
CFileDialog filedialog(TRUE,0,0,NULL,"(*.txt)¦*.txt",this);

为TRUE的时候是读取,FALSE的时候是写入
wormholes 2001-12-03
  • 打赏
  • 举报
回复
CFileDialog filedialog(TRUE,0,0,NULL,"(*.txt)|*.txt",this);
if(filedialog.DoModal())
{
pathname=filedialog.GetPathName();
SetDlgItemText(IDC_PATH,pathname);
}
zhouqiming 2001-12-03
  • 打赏
  • 举报
回复
你在这里问了半天,也不回去试一试,就说这个不行那个不行,真不是科学的态度。
书上讲的很清楚,在第四步里的高级选项里可以完成你所说的功能,大家都能看懂
中国字。
zhouqiming 2001-12-02
  • 打赏
  • 举报
回复
根本没那么麻烦,在AppWizard的第四步的ADvanced Options里面就有设置。
这个分可以给我了吧!
coolwzl 2001-12-02
  • 打赏
  • 举报
回复
重新说一下:
你在.rc的文件里改一个东西,和楼上的一个人说得差不多,
位置好像是在保存整个程序的大标题的下面一行,就是这个
IDR_EEETYPE (我的程序的名字是EEE,你的应该是IDR_XXXTYPE )
这个标志抚,在它 后面的第四个\n的后面和第五个\n之前加上.love,
则文件会被自动保存为.love类型的,我试过的
loop000 2001-12-02
  • 打赏
  • 举报
回复
“保存文件对话框”只要指定了默认扩展名,就会达到你说的效果,无须重载OnSave/OnSaveAs函数的,你试一下就知道了。
coolwzl 2001-12-02
  • 打赏
  • 举报
回复
你在.rc的文件里改一个东西,和楼上的一个人说得差不多,
位置好像是在保存整个程序的大标题的下面一行
oicq8 2001-12-02
  • 打赏
  • 举报
回复
在向导里
ADvanced Options

输入TXT
就保存为TXT文件啦

我要其他的呢


那你想输入什么就什么吧

比如:com
thering 2001-12-02
  • 打赏
  • 举报
回复
很简单的啦
Kusk 2001-12-02
  • 打赏
  • 举报
回复
To yuhaiyu0344(yuhaiyu0344):
我好像找不到你的XXXTYPE,而且我并不是要打开文件,而是要在保存文件时自动加上扩展名(如果用户没有输入的话)。
yuhaiyu0344 2001-12-02
  • 打赏
  • 举报
回复
给个例子,把资源中STRINGTABLE中的XXXTYPE该为下面字符串就只打开*.ani文件
AniEditor\nNewAniFile\nAnimation File\nAnimation(*.ani)\n.ani\nAniEditor
Kusk 2001-12-02
  • 打赏
  • 举报
回复
BTW:我知道可以写代码进行分析,不过不知有没有更好的方法。zhouqiming(碰碰车)的方法由于我无法重写代码,所以没有试。
Kusk 2001-12-02
  • 打赏
  • 举报
回复
上面各位的方法好像只是在打开/保存对话框中添加对应的项,具体我没有尝试,我的意思是在保存的时候如果用户没有输入的话自动加入扩展名,比如用户输入abc,则存为abc.txt什么的。而且我用的是文档-视类,上面各位的方法要重载OnSave/OnSaveAs,我不知道重载后应该调用什么来函数使文档保存,望详细说明一下,分如果少可以加,谢!
loop000 2001-12-01
  • 打赏
  • 举报
回复
将CFileDialog的第二个参数设为你需要的扩展名 例:
CFileDialog dlg(FALSE, _T("txt"), NULL, OFN_EXPLORER | OFN_OVERWRITEPROMPT, szFilter, this);
蒋晟 2001-12-01
  • 打赏
  • 举报
回复
OPENFILENAME结构里面就有一个是默认扩展名啊,CFileDialog的构造函数的第二个参数也是
Kusk 2001-12-01
  • 打赏
  • 举报
回复
没有人知道吗?
这个问题不难吧???

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧