各位大虾,大家好!
    首先我要声明我是一个新手,学VC++才两个月.
    现在我创建了一个多文档的应用程序,在CLIENT AREA中创建了一个CONTROL BAR,里面有一个TREECONTROL.根据需求分析,我不能利用原始架构的FILE NEW,FILE OPEN和FILE CLOSE功能,而必须双击TREEITEM打开一个文档, 或者通过NEW PAGE按钮新建一个文档.因此我想问下列几个问题.
    1. 在程序初始运行后,我想关掉程序初始创建的一个空问档,怎么关掉它呢?
    2. 当双击一个TREEITEM时,要打开一个已有文档, 该如何实现呢?
    3. 当点击CLOSE按钮,要关闭所有文档,又该如何实现呢?
    由于学习时日尚短,对VC++打开关闭操作过程不能理解,请各位不吝赐教!!!

解决方案 »

  1.   

    1.你可以让它在启动的时候根本不要打开那个新稳当,很简单,做一下小的改动就好,具体的我忘了:(
    2.打开一个文件对话框,然后接受用户选择的文件名,然后open这个文件。文件对话框,参考CFileDialog类
    3.关闭一个文档会吗,关闭所有的就是一个一个的关闭啊好久没用SDI MDI,所以细节忘了,思路你可以参考
      

  2.   

    CFile file1(_T(tmpPath),CFile::modeReadWrite|CFile::modeCreate);
    CArchive ar(&file1,CArchive::store);//load
    pDoc->Serialize(ar);
      

  3.   

    首先多谢各位的帮忙!
    1. 昨天提出的第一个问题已经解决,只需要在APP::INITINSTANCE中改动一个参数就可以了.2. 但是对于第二个问题,还是希望各位高手说的更详细点,最好付上原代码.
    我的视是派生CHTMLVIEW的,因为我要打开的文件全部是HTML文件,而且是不允许修改的,只需要查看一下就可以了.
    我想的逻辑是这样的:
         1. 创建一个视
         2. 获得文件的路境(根据我的程序可以获得文件的路经)
         3. 打开文件,在这里我想用NAVIGATE2函数打开, 我想CFILE是不可以打开HTML的文件的.
    现在最大的问题是当我双击TREEITEM后怎样才可以新建一个视呢,或者这个视本来已经存在我要怎样才能把它显示出来呢?或者各位大侠能提供更好的方法来处理?
      

  4.   

    用你打开HTML文件的文档模板调用OpenDocument(/*CString*/strFilePath)就可以打开这个文件了。
      

  5.   

    去掉
    if (!ProcessShellCommand(cmdInfo))
    return FALSE;
    就不会创建的一个空问档
      

  6.   

    http://search.csdn.net/Expert/topic/836/836779.xml?temp=.5084497