문제

I have a CRichEditCtrl, and an algorithm works on its contents in-place, iterating through the contents and making changes. This seems to cause it to re-paaint every time, which causes flickering and a noticeable time to complete the operation, especially if the control starts scrolling. I wondered if there's a neat way for me to stop it repainting for a period. It's actually a custom subclass of CRichEditCtrl in use so I was thinking something like:

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

What's the neatest approach? A custom on-paint handler which does nothing when an operation is in progress? Or can repainting actually be disabled?

도움이 되었습니까?

해결책

I've never used the function but it looks like you want to look at CWnd::SetRedraw.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top