CRichEditCtrl:如何让焦点丢失时滚动到结尾?

时间:2015-01-13 16:09:04

标签: winapi mfc

我有一个带自动垂直滚动设置的CRichEditCtrl,它可以工作,但并不像我喜欢的那样。控件中的文本可以通过来自另一个线程的消息进行更新,因此在用户执行其他操作时可能会忙于更新,但更新的方式会有所不同,具体取决于它是否具有焦点(插入符号是否为闪烁)。如果它有焦点,它会自动滚动到最新的文本(在窗口的底部),没有焦点你可以看到滚动条在添加文本时缩小但没有实际的滚动。是否有任何方法可以让它始终滚动到底部,以便用户始终可以看到最近添加的内容?

我尝试在ReplaceSel()之后发送EM_SCROLLCARET,但没有区别。还尝试使用LineScroll(),但是将最新的行放在窗口的顶部,而不是像自动滚动时那样放在底部 - 如果有新的尾随行,这也会导致空白窗口......

在MSDN /论坛上看,我看不到其他的尝试。

欢呼任何帮助。

0 个答案:

没有答案