MFC初探:单文档打开文件并载入窗口

上次做了一个简单的数控编译程序,想要改成窗口程序。在很久之前用过MFC的对话框做过程序,准备重新捡起来。
MFC初探:单文档打开文件并载入窗口_第1张图片
这里选择了单文档,挑战一下没用过的部分。
后面类继承选择了继承自CEditView,是为了更方便在窗口中输入文字。(https://zhidao.baidu.com/question/245604097.html)
然后就生成了一个简单的文本输入程序,但存在一点瑕疵:输入文字保存没问题,是自带的功能,但是打开文件后,文件的内容不会显示在窗口中。
一筹莫展后,参考了一些文章(
http://blog.csdn.net/foxbryant/article/details/8096215
http://blog.csdn.net/andrewniu/article/details/49929765
http://blog.csdn.net/djb100316878/article/details/42239883

得知需要重写FileOpen函数。
MFC初探:单文档打开文件并载入窗口_第2张图片
添加事件后,在其中写了如下内容:

    CFileDialog filedlg(true);
    if (IDCANCEL == filedlg.DoModal())
        return;
    auto szFilePath = filedlg.GetPathName();
    auto szFileName = filedlg.GetFileName();
    auto p = GetActiveDocument();
    p->OnOpenDocument(szFilePath);
    p->SetTitle(szFileName);

CFileDialog类创建一个对象,弹出一个对话框,就是打开文件的窗口,创建时的参数为true时为打开文件,false时为保存文件。在选择后其中会保存在对话窗口中选择的文件路径以及文件名。
之后使用GetActiveDocument()获得当前的文档的指针,并用其方法OnOpenDocument打开文件并载入。

这里主要是用的自带的方法,每有深挖其背后的关系。但能实现基本的类似笔记本的作用,可作为编译程序中的代码编辑区。

你可能感兴趣的:(随笔,C/C++)