これは C++ - win32 用です。基本的に、ファイルからイメージ (bmp) を HBITMAP にロードし、それをメイン ウィンドウのデバイス コンテキストにビットブリットしました。
画像を変更したい場合は、どうすれば再度呼び出すことができますか?
InvalidateRectangle() と UpdateWindow() を呼び出しましたが、ウィンドウ コントロールがちらつきます。
通常、その領域を無効にして(たとえば、経由でInvalidateRect
)、WM_PAINT
ハンドラーに再描画させます。ちらつきが頻繁に発生する理由は、WM_ERASEBKGND
ハンドラーをオーバーライドしていないか、WM_PAINT
ハンドラーがダブルバッファーのペイントを行っていないか、必要以上に広い領域を無効化(または再ペイント)しているためです。
このページは役立つかもしれません:ちらつきのない描画:アプリケーションからちらつきを取り除くテクニック