3

我有一个 CRichEditCtrl,一个算法就地处理它的内容,遍历内容并进行更改。这似乎导致它每次都重新绘制,这会导致闪烁和完成操作的明显时间,尤其是当控件开始滚动时。我想知道是否有一种巧妙的方法可以让我停止重新粉刷一段时间。它实际上是使用中的 CRichEditCtrl 的自定义子类,所以我在想类似的东西:

void MyCustomEditCtrl::DoAlgorithm()
{
 enableRepaint(false);
 ...
 //to the actual work
 ...
 enableRepaint(true);
}

最整洁的方法是什么?一个自定义的 on-paint 处理程序在操作进行时什么都不做?或者实际上可以禁用重绘?

4

1 回答 1

6

我从未使用过该功能,但您似乎想查看CWnd::SetRedraw

于 2010-05-05T10:03:59.593 回答