MFC/Win32コントロールの再塗装を停止する方法
-
03-10-2019 - |
質問
Cricheditctrlがあり、アルゴリズムがその内容を整え、内容を繰り返して変更を加えます。これにより、毎回再塗装されるように思われます。これにより、特にコントロールがスクロールを開始した場合は、ちらつきと操作を完了するための顕著な時間が発生します。私がそれを一定期間繰り返すのを止めるためのきちんとした方法があるのではないかと思いました。実際には、使用中のcricheditctrlのカスタムサブクラスなので、次のようなものを考えていました。
void MyCustomEditCtrl::DoAlgorithm()
{
enableRepaint(false);
...
//to the actual work
...
enableRepaint(true);
}
最もきちんとしたアプローチは何ですか?操作が進行中のときに何もしないカスタムペイントハンドラー?または、塗り直しは実際に無効になる可能性がありますか?
解決
私はこの機能を使用したことがありませんが、あなたが見たいように見えます cwnd :: setredraw.
所属していません StackOverflow