VC++多文档项目同时显示多个文本文件

news2024/12/23 0:18:50

VC6新建一个多文档工程;工程名为txt;生成的类如下;与单文档项目相比多了一个ChildFrm;

在类向导为Doc类添加OnOpenDocument函数;

 

此时生成的OnOpenDocument()函数如下;

BOOL CTxtDoc::OnOpenDocument(LPCTSTR lpszPathName) 
{
	if (!CDocument::OnOpenDocument(lpszPathName))
		return FALSE;
	
	// TODO: Add your specialized creation code here
	
	return TRUE;
}

    在此函数中会把生成的exe,从菜单中选择打开的文件路径传进来;框架是否会自己打开文件记不清了;可以自己写代码打开文件;

加入一段打开文件代码看下,读取成功以后弹框;

BOOL CTxtDoc::OnOpenDocument(LPCTSTR lpszPathName) 
{
    if (!CDocument::OnOpenDocument(lpszPathName))
        return FALSE;
	
    // TODO: Add your specialized creation code here
    CFile file(lpszPathName, CFile::modeRead);
    TCHAR* pBuf;
    int cnt = file.GetLength();
    //根据对应字符编码模式下的sizeof(TCHAR),计算有多少个字符
    int chars = cnt / sizeof(TCHAR);
    //为缓冲区分配大小,+1操作是为了在结尾加一个结束符
    pBuf = new TCHAR[chars + 1];
    //第一个是将读到的内容放入的地方,第二个是读取的长度
    file.Read(pBuf, cnt);
    //结尾+一个结束符
    pBuf[chars] = 0;
    //将读到的内容弹出
    AfxMessageBox(pBuf);
    //关闭文件
    file.Close();
    //文档关闭后释放申请的空间
    delete[] pBuf;

    return TRUE;
}

从菜单中选择打开一个文件,弹框如下; 

 

 

然后把 TCHAR* pBuf 写成Doc类的成员变量;

 

这2句注释了;//delete[] pBuf;
        //AfxMessageBox(pBuf);

然后转到View类的OnDraw()函数;在View类中已经有Doc类的指针pDoc;

void CTxtView::OnDraw(CDC* pDC)
{
	CTxtDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	pDC->TextOut(5,0,pDoc->pBuf);
}

    添加一句输出代码,输出pDoc所指的pBuf;如果文件打开没有错误的话,文件内容此时已存入pDoc->pBuf;

运行如下;打开4个文本文件; 

 

从窗口菜单选择 平铺 ,如下;

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/708912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python基础 —— 条件语句

考虑了好久,不知道是先写条件循环,还是先写数据类型,因为如果先写条件循环的话,要涉及到数据类型的内容;先写数据类型的话,又要设计到条件循环的内容…纠结一番后,决定还是先说条件循环,再在数据…

chatgpt赋能python:用Python抓取数据:提高SEO的关键

用Python抓取数据:提高SEO的关键 在数字化时代,数据已经变成了最宝贵的财富之一。然而,对于企业和网站管理者来说,数据仅仅是有价值的当它被收集和转化成行动中存在的信息。这时,Python成为了一个有用的工具&#xff…

基于VORS、CCDM模型、GeoDetector、GWR模型集成技术在城镇化与生态系统健康空间关系分析及影响效应中的应用

城市群是一国经济发展水平的象征,也是一国经济发展到一定阶段的标志,我国城市群建设体量不断增加,将成为全球经济的核心,中国城市群的建设逐步引领全球进入到了21世纪的中国新时代。然而,高速的城镇化发展,…

leetcode题集训 sql

目录 背景步骤175组合两个表(多表联查)176 177 第n高的薪水(Distinct关键字 排序)178分数排名 (排序 order over关键字)179 连续出现的数字 (模拟多张表联查)181. 超过经理收入的员工…

学号编码:TooY0ung的学院(结构体)

根据66十二位编码规则,用城市代码和出生年编制学号。 【本笔记适合初通算法的 coder 翻阅】 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础…

Web-文件上传漏洞总结

目录 1、常规前端绕过 2、修改文件类型 3、使用 .user.ini 或 .htaccess(可能还存在大小写绕过) 4、使用字典爆破可行后缀 5、结合文件包含漏洞使用图片马 6、条件竞争 1、常规前端绕过 如下图,在前端存在限制,只能上传图片…

springboot校园点餐小程序

校园点餐系统 springboot校园点餐系统小程序 java校园点餐小程序 技术: 基于springbootvue小程序校园点餐系统的设计与实现 运行环境: JAVA版本:JDK1.8 IDE类型:IDEA、Eclipse都可运行 数据库类型:MySql(…

GPT模型训练实践(2)-Transformer模型工作机制

Transformer 的结构如下,主要由编码器-解码器组成,因为其不需要大量标注数据训练和天然支持并行计算的接口,正在全面取代CNN和RNN: 扩展阅读:What Is a Transformer Model? ​ ​ 其中 编码器中包含自注意力层和前馈…

HCIA回顾笔记整理

OSI 7层参考模式 开放式系统互联参考模型 应用层 抽象语言--> 编码 表示层 编码-->二进制 会话层 提供应用程序地址 -- 无标准 上三层,应用程序加工数据的部分 下四层,数据流层 负责数据传输 传输层 数据分段(…

Hive基础知识

1.Hive简介 Hive是由Facebook开源用于解决海量结构化日志的数据统计工具。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 2.Hive本质 Hive的本质是将HQL转化成MapReduce程序。 Hive处理的数据存储在H…

Git远程操作

目录 分布式版本控制系统 远程仓库 新建远程仓库 管理仓库 issue Pull Request 克隆远程仓库到本地 向远程仓库推送 拉取远程仓库 配置git 忽略特殊文件 给命令配置别名 分布式版本控制系统 我们之前所说的所有内容,都是在本地,也就是只在你的…

Java——抽象类和接口

一、抽象类 1.1、抽象类 使用abstract关键字定义的类称为抽象类 public abstract class Employee {private String name;private int number; }在 Java中抽象类不可以实例化为对象。例如: 1.2、抽象方法 使用abstract关键字定义的方法称为抽象方法。抽象方法没…

IDEA自动导入包

问题 IDEA如何自动导入包 详细问题 项目开发中,笔者常常先将光标瞄准所需导入的类,后使用快捷键AltEnter进行导包操作。这种方式需要逐个处理,相对费事费力,IDEA如何自动导入所有程序所涉及的包呢 解决方案 1、左上角 F i l …

基于Elman神经网络的电力负荷预测(附源码)

一、算法原理 Elman神经网络是一种典型的动态递归神经网络,它是在BP网络基本结构的基础上,在隐含层增加一个承接层,作为一步延时算子,达到记忆的目的,从而使系统具有适应时变特性的能力,增强了网络的全局稳…

2017年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题——纯享题目版

🏠个人主页:fo安方的博客✨ 💂个人简历:大家好,我是fo安方,考取过HCIE Cloud Computing、CCIE Security、CISP、RHCE、CCNP RS、PEST 3等证书。🐳 💕兴趣爱好:b站天天刷&…

碳排放预测模型 | Python实现基于SVR支持向量机回归的碳排放预测模型

文章目录 效果一览文章概述研究内容源码设计参考资料效果一览 文章概述 碳排放预测模型 | Python实现基于SVR支持向量机回归的碳排放预测模型 研究内容 碳排放被认为是全球变暖的最主要原因之一。 该项目旨在提供各国碳排放未来趋势的概述以及未来十年的全球趋势预测。 其方法是…

Quiz 16_3-1: Databases | Python for Everybody 配套练习_解题记录

文章目录 Python for Everybody课程简介Quiz 16_3-1: Databases单选题(1-11)操作题Autograder: Single Table SQL Python for Everybody 课程简介 Python for Everybody 零基础程序设计(Python 入门) This course aims to teach …

CS CK VT系列贴片型铝电解电容器特点

CS CK VT系列贴片型铝电解电容器就是宽温通用品,也就说电性和RVT贴片电解电容器和RST贴片电解电容器一样,105℃2000小时寿命,用于消费类电子。偶尔CS贴片电解电容器,CK贴片电解电容器和VT贴片电解电容器会有缩体产品。

菜鸡shader:L6 人物材质基础模型以及三种透明特效AC、AB和AD

文章目录 人物材质基础模型unity练练看实现代码实现最后效果 透明特效AC效果展示 AB效果展示 AD效果展示 自定义混合模式效果展示 人物材质基础模型 这里是老师布置的作业,要求把之前学过的所有模型都组合起来,组成一个基本的人物材质模型。这里在上作业…

基于安卓的接的快接单平台/基于Android的快的接单平台

【摘要】 随着互联网的趋势的到来,各行各业都在考虑利用互联网将自己的信息推广出去,最好方式就是建立自己的平台信息,并对其进行管理,随着现在智能手机的普及,人们对于智能手机里面的应用接的快接单平台也在不断的使用…