[MFC控件]CRichEdit刷新问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24380063/article/details/79690499

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();



猜你喜欢

转载自blog.csdn.net/qq_24380063/article/details/79690499