2010-05-05 31 views
2

我有一個CRichEditCtrl,並且一個算法就地處理其內容,遍歷內容並進行更改。這似乎會導致它每次都會重新出現,這會導致閃爍和明顯的時間來完成操作,特別是如果控件開始滾動。 我想知道是否有一個簡潔的方式讓我停止重繪一段時間。它實際上是的CRichEditCtrl中使用自定義子類,所以我想是這樣的:如何停止MFC/win32控件重新着色

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

什麼是最整潔的方法呢?定製的on-paint處理程序在進行操作時不執行任何操作?或者可以重新繪製實際上被禁用?

回答

5

我從來沒有使用過這個功能,但它看起來像你想看看CWnd::SetRedraw

+0

這似乎是伎倆,謝謝。 – 2010-05-05 10:29:04