MFC学习笔记CDocTemplate(一)

来源:互联网 发布:淘宝红包图片素材 编辑:程序博客网 时间:2024/04/30 13:37

修改CDocTemplate可过滤的文件类型

方法一:在创建工程的时候,第4步时选择【高级...]选项,在文件扩展名处填写要过滤的文件扩展名。

方法二:如果工程已经创建好了,那就需要手工修改,找到工程目录,使用记事本打开相应的RC文件,然后找到如下字段

STRINGTABLE PRELOAD DISCARDABLE
BEGIN
 IDR_MAINFRAME           "Test"
 IDR_TESTTYPE         "/nTest/nTest/n文本文件(*.txt)/n.txt/nTest.Document/nTest Document"
END

其中 IDR_MAINFRAME 后的字符串表示主窗口标题,

IDR_TESTTYPE 可分解为7个部分

/n

test/n 表示文件基底名称。这个名称在加上一个流水号码,即成为新文件名称

test/n 表示文件类型名称,如果一个程序支持多种文件,此字符串将显示在【File/New】对话框中。

文本文件(*.txt)/n 文件类型以及一个使用与此类型的过滤字符串,这个字符串将出现在【File Open】对话框中的【文件类型】列表里

.txt/n表示文件扩展名如果不指明,那么"文本文件(*.txt)/n"这个字符串将不起作用,在【File Open】对话框中无法显示

Test.Document/n 如果你调用::RegisterShellFileTypes向系统注册表注册文件类型,此值会出现在HKEY_CLASSES_ROOT之下成为其子机码并供Windows内部使用。如果未指定,此种文件类型就无法注册,鼠标拖放功能会受到

Test Document  这也是存储在注册表中的文件类型名称,并且是给人(而非系统)看的。它也会显示于程序中用以处理注册表的对话框

在应用程序中可以随时取得这七个字符串取得方法是调用GetDocString()函数如下:

CString strFilterName,strFilterExt;

pDocTemplate->GetDocString(strFilterName,CDocTemplate::filterName)

pDocTemplate->GetDocString(strFilterExt,CDocTemplate::filterExt);

原创粉丝点击