ハテナキハテナ --unics’s think/sync

福井のまんなかでぼんにょり呟く、ゆにくすの日々オボエガキなど。

VC++におけるスクロールのメモ。

CWnd::OnVScroll(OnHScrollも)において、引数nPos(現在位置)は16bitとなっています。
もしそれ以上の長〜いスクロールを扱おうとするなら(SB_THUMBPOSITION,SB_THUMBTRACKでスクロールの絶対値を取ると思います)、現在位置を取得するにはGetScrollInfoから直接スクロール位置を取りましょう。

m_scrHogeがCScrollBarのコントロールだとすると

SCROLLINFO info;
m_scrHoge.GetScrollInfo( &info );
iPos = info.nTrackPos;

あとはiPosをスクロール値として設定

32bitまでコレで扱えるようです。

qqq for your reading!!
(c)Electro-U-nics --since 2004.03.26