GetUpdateRectで、InvalidateRectなどで指定されたりして出来た無効領域のRECTを取得できる。
GetUpdateRect function (winuser.h) - Win32 apps | Microsoft Learn
ScrollWindowでスクロールして出来た白い描画されてない領域のRECTを、InvalidateRectに指定して、WM_PAINT側でGetUpdateRectでそれを取得し、そこに残りの描画すべきビットマップの一部を描画する。
GetUpdateRect.cppにて、WM_HSCROLLは、
こうする。
WM_VSCROLLは、
こうする。
WM_PAINTは、
こう書く。
GetUpdateRectはBeginPaintより前に置く。
"Update"って入ってるので、app.manifestが要る。
左上。
右上。
右下。
左下。
これで、スクロールバーでビットマップをスクロールして見ることが出来た。
Sample/winapi/GetUpdateRect/GetUpdateRect/src/GetUpdateRect at master · bg1bgst333/Sample · GitHub