私は CRichEditCtrl を持っており、アルゴリズムはそのコンテンツをその場で処理し、コンテンツを繰り返し処理して変更を加えています。これにより、毎回再描画が発生するようであり、特にコントロールがスクロールを開始した場合に、ちらつきが発生し、操作を完了するまでにかなりの時間がかかります。しばらくの間、再描画を停止するためのきちんとした方法があるかどうか疑問に思いました. 実際には使用中の CRichEditCtrl のカスタム サブクラスなので、次のようなことを考えていました。
void MyCustomEditCtrl::DoAlgorithm()
{
enableRepaint(false);
...
//to the actual work
...
enableRepaint(true);
}
最もきちんとしたアプローチは何ですか?操作の進行中に何もしないカスタムのオンペイント ハンドラーはありますか? または、再描画を実際に無効にすることはできますか?