[Delphi] コントロールの描画を中止

下記のコードでどの様なコントロールの描画も中止することが出来る。
結果は同じようだ。LockWindowUpdate の内部処理は、WM_SETREDRAW メッセージを送信してるんじゃないかな?

  1. 方法1
      LockWindowUpdate(DrawStopCtrl.Handle);
      try
        // 処理
      finally
        LockWindowUpdate(0);
        DrawStopCtrl.invalidate;
      end;
    
  2. 方法2
      SendMessage(DrawStopCtrl.Handle, WM_SETREDRAW, 0, 0);
      try
        // 処理
      finally
        SendMessage(DrawStopCtrl.Handle, WM_SETREDRAW, 1, 0);
        DrawStopCtrl.invalidate;
      end;

コメント (0件)


くろねこ研究所
https://www.blackcat.xyz/article.php/ProgramingFAQ_del0064