成功: MFC使用CEdit做一个显示日志的自动滚动窗口

三年前做一个辅助程序的时候用到MFC的CEdit做一个滚动窗口,在客户不点击选择光标的时候,可以自动滚动,但是一旦鼠标点击了光标就出现日志显示乱了

奈何一直都没法解决

先贴上关键代码


void CLPC1768_UpgradeToolDlg::ShowEditLog(CString m_str)
{
	static int ipos = 0;
	CTime time = CTime::GetCurrentTime();
	CString sTime = time.Format(_T("%H:%M:%S  "));
	m_str = sTime + m_str + L"\r\n";
	//m_EditLog.LineScroll(m_EditLog.GetLineCount());   //永远滑动到最下面
	m_EditLog.SetSel(-1, -1, FALSE);   //nstart = -1表示取消所有选择
	

	int iTextLen = m_EditLog.GetWindowTextLength();
	m_EditLog.SetSel(iTextLen, iTextLen, FALSE);
	m_EditLog.SetFocus();       //移动光标到最后
	m_EditLog.ReplaceSel(m_str);     //这个函数还是在光标的位置书写
	
	m_EditLog.LineScroll(m_EditLog.GetLineCount());   //可用于水平滚动所有行最后一个字符,这只是设置edit进行滚动

}








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ToneChip

觉得博主写得不错欢迎鼓励支持哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值