您的位置:首页 > 其它

[MFC控件]CRichEdit刷新问题

2018-03-25 21:17 267 查看

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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: