Да, и кстати, "правильные пацаны" используют GetScrollInfo для определения позиции ползунка Ибо сказано:
"MSDN:WM_HSCROLL" писал(а):
Note that the WM_HSCROLL message carries only 16 bits of scroll box position data. Thus, applications that rely solely on WM_HSCROLL (and WM_VSCROLL) for scroll position data have a practical maximum position value of 65,535. ------------ Дoбавленo:
Чуть более общий сценарий: вообще всегда при поступлении WM_xSCROLL ставим сий флаг, а снимаем его:
- По окончании обработки, если он не был до входа в процедуру выставлен и если LOWORD(Msg.wParam) не равен SB_THUMBTRACK
- Если LOWORD(Msg.wParam) равен SB_ENDSCROLL или SB_THUMBPOSITION.
А в данном конкретном примере нам надо обеспечить посылку onPosition до того, как мы в очередной раз программно подвинем ScrollBar.