问个简单的VC问题啊:
VC中打开文件对话框我想再增加一种类型,怎么修改那个资源字符串IDR_MAINFRAME啊,现内容是
Person\n\nPerson\nPER File(*.per)\n.per\nPerson.Document\nPerson Document
我想加个.txt的

解决方案 »

  1.   

    你用CString传进去也行的,不一定要用IDR_MAINFRAME
      

  2.   

    看不懂你在说什么啊。横秋的文件对话框教程
    http://community.csdn.net/Expert/topic/4208/4208272.xml?temp=.3928339
      

  3.   

    哈,我是在按循序渐进的方法学VC,所以问出来的这种问题有的VC的MVP都莫名其妙,勿怪。
    这是MFC的特殊设置,至于显式调用CFileDialog这样使用专门的对象,则是一般的开发工具如VB都好理解的,那个filter什么的用|分隔的设置很好理解,在网上也易找,就没必要来问高手啦:)
    注: 这个资源应是CSingleDocTemplate::CSingleDocTemplate 这类建构函数的第一个参数,按这个理解的话估计本身就只限指明一种文件类型的,但一般资源没对前后字串的语法做说明,而且看到有的程序设置产生的对话框不包括“所有文件(*.*)"这样的选项,所以觉得还是弄清楚些好!
      

  4.   

    没在资源里改过,好像是在这:\nPER File(*.per)\n.per结构体OPENFILENAME中有个成员filter就是过滤字符串,前面是过滤字符串的文字描述,比如:PER File(*.per),后边是真正的过滤文件的格式*.per(后缀名)
      

  5.   

    如果想在MFC框架中有个方法
    就是添加一样和IDR_MAINFRAME类似的一个ID入IDR_MAINFRAME1
    CMultiDocTemplate* pDocTemplate;
    pDocTemplate = new CMultiDocTemplate(
    IDR_MAINFRAME,
    RUNTIME_CLASS(CMdi1Doc),
    RUNTIME_CLASS(CChildFrame), // custom MDI child frame
    RUNTIME_CLASS(CMdi1View));
    AddDocTemplate(pDocTemplate);
    //多添加一个DocTemplate,这样在打开的对话框就多了,但在NewDocument会让人选择
    pDocTemplate = new CMultiDocTemplate(
    IDR_MAINFRAME1,
    RUNTIME_CLASS(CMdi1Doc),
    RUNTIME_CLASS(CChildFrame), // custom MDI child frame
    RUNTIME_CLASS(CMdi1View));
    AddDocTemplate(pDocTemplate);
      

  6.   

    MFC Document/View documentation and enhancements
    http://www.codeproject.com/docview/DocViewEnhancements.asp
    HOWTO: How to Support Two File Extensions per MFC Document Type
    http://support.microsoft.com/kb/141921/EN-US/
      

  7.   

    谢谢jiangsheng提供的微软的解答,虽然这和我的意思有区别(我的意思是在那个filter下拉框中有多行),但大方向是一样的。
      

  8.   

    CFileDialog fdText(TRUE,_T("txt"),_T("*.txt"),OFN_FILEMUSTEXIST| OFN_HIDEREADONLY,_T("Text Document (*.txt)|*.txt|All Files (*.*)|*.*||"),this);