如何停止MFC / win32控件重新绘制

时间:2010-05-05 09:03:24

标签: mfc winapi repaint cricheditctrl

我有一个CRichEditCtrl,一个算法就其内容进行就地处理,迭代内容并进行更改。这似乎导致它每次重新绘制,这会导致闪烁和明显的时间来完成操作,特别是如果控件开始滚动。 我想知道是否有一种巧妙的方法可以阻止它重新粉刷一段时间。它实际上是CRichEditCtrl的自定义子类,所以我想的是:

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

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

1 个答案:

答案 0 :(得分:5)

我从未使用过这个功能,但看起来你想看CWnd::SetRedraw

相关问题