ObjeqtNote #30 InvalidateRectで更新することで簡単にスクロール描画

ScrollWindowだと、思ったような描画ができないので、InvalidateRectで更新を要求し、OnPaintで描画していくようにした。

PictureBox.hは、

レンジをコメントアウトしておく。

PictureBox.cppでは、

SetImageで画像をセットしたら、スクロールバーの位置m_iHScrollPosとm_iVScrollPosを初期化。

OnPaintで、nPageにiDrawWidthやiDrawHeightを使うようにするなど、いろいろ変更した。

OnHScrollで、スクロール情報設定した後、メンバにも位置を持たせ、InvalidateRectで更新要求することで、OnPaintで描画される。

OnVScrollも、dyはやめて、InvalidateRectで更新要求することで、OnPaintで描画される。

f:id:BG1:20170425114200p:plain

最初は上のほうを表示している。

f:id:BG1:20170425114221p:plain

下にスクロールしていくと、画像は問題なく上に動いていく。
画像の下端までみることができた。

f:id:BG1:20170425114244p:plain

上にスクロールしても、問題なくスクロールでき、上端まで見れるようになった。
左右も同様にスクロールできる。

・InvalidateRectで更新することで簡単にスクロール描画 · bg1bgst333/ObjeqtNote@7218411 · GitHub