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

本文介绍如何使用MFC框架创建一个具备基本文本编辑功能的单文档应用程序,重点讲解了如何实现文件打开功能,包括使用CFileDialog对话框选择文件及通过重写FileOpen函数加载文件内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

得知需要重写FileOpen函数。
这里写图片描述
添加事件后,在其中写了如下内容:

    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打开文件并载入。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值