0

これは C++ - win32 用です。基本的に、ファイルからイメージ (bmp) を HBITMAP にロードし、それをメイン ウィンドウのデバイス コンテキストにビットブリットしました。

画像を変更したい場合は、どうすれば再度呼び出すことができますか?

InvalidateRectangle() と UpdateWindow() を呼び出しましたが、ウィンドウ コントロールがちらつきます。

4

1 に答える 1

2

通常、その領域を無効にして(たとえば、経由でInvalidateRect)、WM_PAINTハンドラーに再描画させます。ちらつきが頻繁に発生する理由は、WM_ERASEBKGNDハンドラーをオーバーライドしていないか、WM_PAINTハンドラーがダブルバッファーのペイントを行っていないか、必要以上に広い領域を無効化(または再ペイント)しているためです。

このページは役立つかもしれません:ちらつきのない描画:アプリケーションからちらつきを取り除くテクニック

于 2013-01-16T20:35:22.323 に答える