最近在VC里写一个程序,要求把日志显示到界面上来。要做这种事情的情况很少,一般来说,我们都是把日志写到文本文件里。

如果只是很简单的程序,可以选用Edit控件,在界面上实现简单的日志显示功能。以下是最基本的步骤:

  1. 创建Edit控件,并设置适当的属性

先用资源编辑器添加一个Edit控件到界面上,关联资源ID为IDC_LOG。注意选上风格WantReturn和MultiLine(多行);因为输出的是日志,Edit的可视空间可能会不够用,因此风格里最好选上Vertical Scroll和Auto Scroll这两个选项!

  1. 添加与日志有关的数据成员

在对话框类的头文件里,添加数据成员:

CString _log; //存储日志的内容
CString _newline; //存储换行符

  1. 初始化工作

在对话框的构造函数里,添加如下的代码:

char re[3] = {VK_RETURN, 0x0a};
_newline = re;
_log = “系统启动,已设置好与日志有关的一切”;

当然,也可以用\r\n赋值给_newline实现换行代码。

  1. 在每次要输出日志的地方,用以下语句就可以在Edit控件里实现日志的刷新:

_log += _newline;
_log += “欲追加的日志”;
SetDlgItemText(IDC_LOG, _log);

因为是小程序,没有考虑到日志变量CString _log的容量问题。

基本的原理就是这样,可以根据情况进行适当的改进。