[WINAPI]画面のチラつきを抑えるには?様々なケースの対策法を紹介!ゆずらぼアプリ開発室[WINAPI]画面のチラつきを抑えるには?様々なケースの対策法を紹介!WinAPIウィンドウズアプリの開発をしているによく起こる問題の1つに画面のチラつきがあります。誰もが一度は経験をしたことがある問題であり、なかなか解決することができないのがこのチラつきです。これは画面の再描画をしている最中に画面の更新が行われてしまうのが原因で、再描画により画面を一度単色で塗りつぶすことでチラついて見えてしまいます。画面を塗りつぶさなければチラつきを抑えることができます。スポンサーリンクチラつきを抑える方法は?では具体的な方法です。デフォルトの処理である画面の塗りつぶしをカットできます。内の処理なのですが、普通にhdcを使って描画するのではなく、オフスクリーンバッファを作成して、そちらに画面を描画して書き終わり次第、メインスクリーンに転送するようにします。転送して表示することでじつげんできます。これによりチラつきは出なくなります。&ps);}break;}}チラつき防止をしてもチラつく時は?時には、上記の方法を使っても画面がチラつく時があります。?その理由は、チラつき防止をされていないウィンドウがどこかにあるからです。これは色々なケースが考えられます。親ウィンドウが見えない親ウィンドウのクライアント領域いっぱいに子ウィンドウを配置。子ウィンドウにチラつき防止処理をしている。この場合、画面のサイズを変更すると親ウィンドウにも画面サイズ変更や再描画のメッセージが飛びます。そのため、親のウィンドウを塗りつぶしてしまうので、子ウィンドウでチラつき防止をしていても結果として画面はチラつきます。配置したコントロールがチラつく子ウィンドウとして配置したコントロールがチラつく場合は、コントロールにもチラつき防止処理が必要です。それは実装が大変ですよね。);これをすれば、再描画時、子ウィンドウの領域は再描画しなくなるのでチラつきません。子ウィンドウが重なっている部分がチラつく。);これでチラつきが抑えられます。リストビューがチラつく。);このようにチラつきを抑えるには色々な方法があります。チラつきが抑えられない原因の多くは親ウィンドウにチラつき防止がされていなかったというものです。チラつき防止をしているにもかかわらずチラつく時は、親ウィンドウに対するチラつき防止をチェックしてくださいね。スポンサーリンク関連記事[WinAPI]文字列をトリミングする関数。STL使用と未使用あり[WinAPI]文字列の分断、STL使用ウィンドウズアプリでビューワーを作る。アプリ作成から基礎を学ぼう![WinAPI]文字列のサイズを測る。これがないと正しく測れない!投稿ナビゲーション[WinAPI]文字列の分断、STL使用ウィンドウズアプリでビューワーを作る。必須サイトコメント最近の投稿[Android]Handlerって何なの?スレッド上のView更新で強制終了する時に役に立つ!【電子工作】LEDと乾電池でLピカをしてみよう。超初心者向け!ウィンドウズアプリでビューワーを作る。クリックイベントを付ける方法。ゆずらぼアプリ開発室シェアTOPへ。