[MFC控件]CRichEdit刷新问题

CRichEdit-刷新问题

最近使用 CRichEdit 遇到一些问题,网上搜到类似问题  如何让CRichEditCtrl滚动到最后一行(大量数据处理) 但是没有很好的解决方法。

CRichEditCtrl 自动滚动到最后一行的方法, 常见有两种:

1. 利用 CRichEditCtrl::LineScroll

m_edit.LineSrcoll(m_edit.GetLineCount());

效果是当前页满了之后,翻下一页。

2. 利用 CRichEditCtrl::PostMessage

m_edit.PostMessage(WM_VSCROLL, SB_BOTTOM, 0);
可以自动滚动到最后一行,但是大量数据刷新或数据刷新过快时,知道所有数据处理完才滚动到最后一行。


遇到 如何让CRichEditCtrl滚动到最后一行(大量数据处理) 这样的问题是,解决方法是

3. 利用 SendMessage

m_edit.SetRedraw(FALSE);
m_edit.SetSel(-1, -1);
m_edit.ReplaceSel(str);
m_edit.SetRedraw(TRUE);
::SendMessage(m_edit.GetSafeHwnd(), WM_VSCROLL, SB_BOTTOM, 0);
m_edit.Invalidate();
m_edit.UpdateWindow();



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值