【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控制、更改静态框中更改字体颜色大小背景

相关推荐
clint4564 天前
C++进阶(1)——前景提要
c++
夜悊4 天前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴4 天前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt0015 天前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
玖玥拾5 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
один but you5 天前
constexpr函数
c++
凡人叶枫5 天前
Effective C++ 条款41:了解隐式接口和编译期多态
java·开发语言·c++·effective c++
凡人叶枫5 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
小胖xiaopangss5 天前
BRpc使用
c++·rpc
-森屿安年-5 天前
63. 不同路径 II
c++·算法·动态规划