【25】MFC入门到精通——MFC静态文本框 中字符串 连续输出 不覆盖先前的文本 换行输出

文章目录

  • 1 问题描述
  • 2 方法
  • 3 实例
  • 4 项目源码下载

1 问题描述

比如我做个循环打开若干个文件 pBuf保存文件内容

或者在静态文本框中,多次输出字符提示信息;

但是打开第二个文件的时候调用SetDlgItemText(IDC_EDIT1,pBuf);

显示在第一行,覆盖了先前的内容,我想让它读取的第二个文件内容在第二行显示!

读第三个文件的内容显示在第三行

2 方法

每次在SetDlgItemText之前都先将旧的文本内容+换行+新的文本内容

如:

cpp 复制代码
CString str;
GetDlgItemText(IDC_EDIT1, str);//获取已显示的文本
str = str + _T("\r\n") + pBuf;//加换行、加新的文本,pBuf即新的文件内容
SetDlgItemText(IDC_Edit1, str);

3 实例

当按下 Button4,在静态框输出,不同i语句下的 字符串信息;

换行输出 不覆盖先前的文本

cpp 复制代码
void CMFCApplication1Dlg::OnBnClickedButton4()
{
	// TODO: 在此添加控件通知处理程序代码
	CString str;

	for (int i = 0; i < 3; i++) {
		if (i == 0)
		   str = _T("MFC运行或调试在 VS输出框,打印字符串信息");
		
		else if (i == 1)
		str = _T(" ==  Good");

		else if (i == 2)
		str.Format(TEXT("第 %d 次连续输出"), i);


		CString str2;
		GetDlgItemText(IDC_STATIC_LOG, str2);//获取已显示的文本
		str2 = str2 + _T("\r\n") + str;//加换行、加新的文本,ICR_Process_result即新的文件内容
		SetDlgItemText(IDC_STATIC_LOG, str2);
	}	
}



4 项目源码下载

项目源码下载:
多功能综合示例-串口控制、自动查询串口、文本框换行输出、IP控制、更改静态框中更改字体颜色大小背景

相关推荐
半桔3 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
HABuo3 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
我在人间贩卖青春4 小时前
C++之多重继承
c++·多重继承
m0_736919104 小时前
C++代码风格检查工具
开发语言·c++·算法
2301_763472466 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
阿猿收手吧!6 小时前
【C++】std::promise原理与实战解析
c++
m0_706653237 小时前
分布式系统安全通信
开发语言·c++·算法
Zach_yuan7 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
寻寻觅觅☆7 小时前
东华OJ-基础题-104-A == B ?(C++)
开发语言·c++
lightqjx7 小时前
【C++】unordered系列的封装
开发语言·c++·stl·unordered系列