vc++编程,怎么实现文本框内容自动滚动显示?

文本框里要显示的内容不断增加,怎么能让文本框一直动态的显示最近增加的内容,以前的内容可以通过滚动条查看?用SDK函数来实现。... 文本框里要显示的内容不断增加,怎么能让文本框一直动态的显示最近增加的内容,以前的内容可以通过滚动条查看?用SDK函数来实现。 展开
 我来答
Andy84_2008
推荐于2016-09-07 · 超过11用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:0
展开全部
我自己包了个函数实现你说的功能, 其中m_editLog是多行文本框控件。参数strLog为你要输出的内容, bAddTime为是否在要输出的内容前加上时间。 其中m_critical锁可有可无,当你这个函数可能被多个线程同时调用的时候,就需要加!
void xxx::AddLog(CString strLog, BOOL bAddTime)
{
if (bAddTime)
{
CTime t = CTime::GetCurrentTime();

strLog = t.Format("%x %X ") + strLog;
}
strLog += _T("\n");

m_crical.Lock();
int nLineCnt = m_editLog.GetLineCount();
int nBegin, nEnd;

nBegin = m_editLog.LineIndex(nLineCnt-1);
if (nBegin != -1)
{
nEnd = nBegin + m_editLog.LineLength(nBegin);
m_editLog.SetSel(nBegin, nEnd);
m_editLog.ReplaceSel(strLog);
}
else
{
m_editLog.SetSel(0, 0);
m_editLog.ReplaceSel(strLog);
}

if (nLineCnt >= 500)
{
m_editLog.SetSel(0, -1);
m_editLog.Clear();
}
m_crical.Unlock();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式