私は WM_PAINT がウィンドウにそれ自体を完全に再描画する必要があることを伝えていることを知っていますが、明らかにそれは部分的に覆われているときに送信されるメッセージではなく、その前にあったウィンドウはもはや邪魔にならず、再描画する必要があります汚れた部分。この場合、どのメッセージが送信されるか知っている人はいますか?
編集:問題が見つかりました:
この問題には、 SDLレンダリング サーフェスを Delphi フォームに埋め込むために作成した Delphi コントロールが関係していました。SDL には、別のウィンドウの HWND でレンダラーを構築するための API があり、それを「外部ウィンドウ」としてマークします。
SDL は通常、WM_PAINT
内部で処理するため、SDL の WindowProc にコードを追加して、外部ウィンドウの場合は外部 WindowProc にメッセージを転送する必要がありました。それは時々機能していましたが、ウィンドウのデータ構造から外部ウィンドウフラグを削除する不具合があったことが判明したため、メッセージをアプリに渡す代わりに飲み込んでいました. それを修正したら、WM_PAINT
常にメッセージを受け取り始めました。