经过反复实验,测试,总结出很完善的编程经验,现分享。
1.文件为TXT格式,方便代码的复制粘贴
2.实现功能:用MFC自带的控件,实现文本多行滚动显示,适合于显示大量信息的场合,类似VS调试窗口
3.解决相关的问题:
a.使用VS自带控件,方便快捷稳定
b.运行效率高,显示速度快,不闪烁,不上下刷屏
c.如果文字数超过文本框最大限制则自动删除最前面的内容
//窗口显示文本
void CClearMainDlg::SetEditTitle(CString strMessage)
{
if(strMessage.IsEmpty())
{
GetDlgItem(IDC_EDIT)->SetWindowTextW(L"");
}
else
{
CString strCtx;
CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT);
CString strCtxNew = L"\r\n" + strMessage;//加换行符
int len = pEdit->GetWindowTextLength(); //获取文本长度
pEdit->SetSel(len, len, FALSE);//将光标移到文本最后
pEdit->ReplaceSel(strCtxNew);//加入新内容
if(len + 100 > pEdit->GetLimitText())//如果超过最大限制则删除前一半的内容
{
pEdit->SetSel(0, len/4, TRUE);//TRUE,选中的时不滚动窗口
pEdit->Clear();//清除前1/4的内容
pEdit->SetSel(len, len, FALSE);//将光标移到文本最后
}
}
}