我有一个CRichEditCtrl,一个算法就其内容进行就地处理,迭代内容并进行更改。这似乎导致它每次重新绘制,这会导致闪烁和明显的时间来完成操作,特别是如果控件开始滚动。 我想知道是否有一种巧妙的方法可以阻止它重新粉刷一段时间。它实际上是CRichEditCtrl的自定义子类,所以我想的是:
void MyCustomEditCtrl::DoAlgorithm()
{
enableRepaint(false);
...
//to the actual work
...
enableRepaint(true);
}
最新方法是什么?一个自定义的on-paint处理程序,在进行操作时什么都不做?或者可以重新粉刷实际上被禁用?