ObjeqtNote #27 水平方向スクロールバーの動作

水平方向のスクロールバーを制御する処理を実装する。

Window.hでは、

OnHScroll、OnVScrollを追加。

Window.cppでは、

WM_HSCROLLでOnHScroll、WM_VSCROLLでOnVScrollを呼ぶ。

OnHScroll、OnVScrollには何も定義しない。

CustomControl.cppでは、

こちらでも、WM_HSCROLLでOnHScroll、WM_VSCROLLでOnVScrollを呼ぶ。
そして、WM_NCHITTEST、WM_NCLBUTTONDOWN、WM_NCLBUTTONUPの時、DefWindowProcを呼ぶようにしている。
こうしないと、スクロールバーが認識せず動作しない。

PictureBox.hに、

SCROLLINFO構造体変数、レンジ、位置などをメンバに追加。
OnHScroll、OnVScrollなども追加。

PictureBox.cppでは、

Loadで、幅と高さを取得。

OnPaintで、画像のサイズからスクロールバーのサイズやレンジを調整。

OnHScrollで、水平方向スクロールバーのさまざまな操作に対する処理を書く。

垂直方向はまだやらない。

f:id:BG1:20170424173832p:plain

下のスクロールバーを右に動かすと、

f:id:BG1:20170424173923p:plain

戻らなくなったので、スクロールバーの制御が上手くいっている証拠。

・水平方向スクロールバーの動作 · bg1bgst333/ObjeqtNote@bc6164f · GitHub