• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WinAPIで画像を更新し続けるには)

WinAPIでビットマップ描画する方法と再描画処理について

このQ&Aのポイント
  • WindowsSDKを使用してビットマップを描画する方法と再描画処理について説明します。
  • ソースコードを簡略化して示しましたが、ボタンを押しても画面に変化がない場合の処理方法にも触れます。
  • 再描画が必要ない画像の場合の扱いについても考慮する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★無条件に WM_PAINT メッセージを発生させます。 ・方法は簡単で『InvalidateRect』API 関数を1つだけコールするだけです。 ・指定方法は『InvalidateRect( hWnd, NULL, TRUE );』の1行です。 サンプル: case WM_KEYDOWN:  x++; // static  InvalidateRect( hWnd, NULL, TRUE ); ←ここに挿入  break; case WM_PAINT:  MyDrawBitMap( hWnd, x, 10 ); ←ここへ移動  break; 最後に: ・これでボタンが押されて x 変数が変化したらば、WM_PAINT メッセージを無条件に  発生させて MyDrawBitMap 関数で再描画されます。 ・キーポイントは MyDrawBitMap 関数の記述位置でした。 ・また、InvalidateRect 関数による再描画の無条件発生が重要です。 ・以上。おわり。→下に『参考URL』を紹介します。どうぞ。

参考URL:
http://wisdom.sakura.ne.jp/system/winapi/win32/win35.html
strkazu
質問者

お礼

Oh-Orangeさんありがとうございました。 2行変えただけで、うまく動きました。 参考URLもゆっくり見たいと思います。

関連するQ&A