問題タブ [wm-paint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ | Win32 API | 白い画面で立ち往生 | InvalidateRect()
開発者およびコミュニティの皆様へ
私は現在、GUI を使用した Win32 API を使用したスネーク ゲームに取り組んでいます。
WM_PAINT メッセージ内の WndProc() 関数で Snake をペイントしてから、Painting Context を作成して Rectangles を描画しています。
しかし問題は、Snake が動いていて、描画された Rectangles が消えないことです。そこで、WndProc() で関数 InvalidateRect() を呼び出して、ウィンドウを更新しました。それは機能していますが、ヘビで42ステップ後、ウィンドウが白くなり、ボタン(最小化、最大化など)も表示されることがあります
次に、CreateTimerQueueTimer() を使用して、InvalidRect() 呼び出しを TimerRoutine に入れます。問題は解決したように見えましたが、数分後に再び発生しました。コードは次のとおりです。
...メインで:
... WndProc() では: