在用APPWIZARD生成的程序中,比如生成一个带文档/视图”的程序,在生成过程中别的不变,只是在最后一步中将CXXXView的基类选为CEditView,然后运行程序,新建一个文档,然后对其进行修改,比如写入“123”,然后选“文件-另存为”保存,比如存为"temp.txt",然后再对文档进行修改,比如改为的“123456”,然后再选“文件-打开”,结果文档的内容仍为“123456”,而非“123”,不知这是为什么?大家讨论一下,有高手给指点一二,谢谢。

解决方案 »

  1.   

    单文档结构,你打开文件的时候那个文件根本就没有打开,不是BUG.
      

  2.   

    程序只负责和你选种的文件建立连接,具体的,读取文件内容需要自己去完成。
    而且,保存也是这样,你打开你的temp.txt估计里面保存的也不是123456。
      

  3.   

    打开当前文件也有必要,比如我上面的说的这个操作在notePad里就是支持的,
      

  4.   

    MFC就是这样实现的吧..
    可能它对响应打开文件消息的处理有问题...记事本就不是这样的啦.
      

  5.   

    呵呵!
    在下原先也有此疑问;
    我后来是这想通的:程序再打开文件前先判断需要打开的文件是否是当前的文件,
    如果是,那么程序实际上就不进行读文件的操作了。这样是有好处的,如果程序继续打开当前文件那么会出现如下问题:
    它就会问“是否保存当前的修改?”
    选是...那么它会存一次盘再将文件打开,
                ...这实际上就是一次“保存”操作就完成的,那还要“保存”干什么?
    选否...实际上就是一次“Undo”操作。实际的效果是更让人觉得别扭了。