我做一个程序,需要读写一些文本。
问题1:用文档/视图框架下的CEditView是否实现起来比较简单?
问题2:用一个菜单项打开一个文件abc.txt,代码怎么写?(我已建好消息函数)
问题3:程序运行,产生一些数据,我想在视图中显示给客户看。如何实现?

解决方案 »

  1.   

    CEditView显示
    CFile读取文件
      

  2.   

    CDocument::OnOpenDocument
    中读文件
      

  3.   

    打开一个文件简单吧
    CFileDialog不行吗?
      

  4.   

    1。你的答案是肯定的!
    2。可以调用系统的打开对话框,或是用CFile类实现!
    CFileDialog fileDialog(TRUE,NULL,NULL,NULL,"可执行文件(*.exe)|*.exe|所有文件(*.*)|*.*||");
    3。在CView类中实现!
    取得DC的句柄如PDC,PDC->Text(),然后刷新!
      

  5.   

    选择CEditView
    然后直接就可以打开文件,保存文件了
      

  6.   

    是啊!从CEditView派生下来的的基于单文档的程序直接就可以打开文件和保存文件了!
    我想唯一需要改的地方就是打开和保存对话框了,设置一下文件的过滤条件就可以了,楼主不是想打开.txt文件吗,进行下面这样的设置就可以了!
    CFileDialog fileDialog(TRUE,NULL,NULL,NULL,"文本文件(*.txt)|*.txt);
    就可以了,第一个参数如果设置为TRUE,表示此对话框是文件打开对话框,如果是FALSE,则表示是文件保存对话框!希望对你有所帮助!
      

  7.   

    谢谢诸位大侠!
    我做过一些程序,现在初学文档/视图结构,困惑多多。我明确一下我的第2个问题:我已经建立好一个菜单项,为这个菜单项增加了一个函数。我希望的是,当选择这个菜单项时,程序用一个新窗口打开特定文件abc.txt。
    我不打算让用户选择打开的文件,因为这个文件是固定的。我该如何编写消息函数?
    条件是MDI应用程序、使用CEditView类。
      

  8.   

    该消息的响应函数应该放在你的Doc类中,然后在该函数中调用:
    CDocument::OnOpenDocument("abc.txt");
    就应该可以了,可能有一些细节需要处理,肯定可以搞定的
      

  9.   

    谢谢!
    我用CDocument::OnOpenDocument("abc.txt");打开了abc.txt文件。
    现在的问题是:这个子窗口的标题还是原来的标题,没有变成“abc.txt”,我修改了这个文本不能自动保存到abc.txt文件中。
    我用UpdateAllViews也不能使这个CEditView和abc.txt文档联系起来。为了把文档、视、和文件联系在一起,我还需要做什么工作?
      

  10.   

    他们其实都不是自动关联的,要更改标题,在你打开文档的消息中增加:
    SetTitle("abc.txt");
    即可;
    要保存,在你要保存的地方增加语句:
    CDocument::OnSaveDocument("abc.txt");再试一试吧,:)
      

  11.   

    这只是我的处理方法,是正确的,但是不是最好的就不知道了,呵呵对于多文档,要注意当前哪个View是激活的,这样直接调用是不是保存的激活View内的内容,你可以自己尝试一下,我做的是单文档的