У меня есть контроль трекбара в моем приложении, и я хочу что-то сделать, когда пользователь начинает выполнять прокрутку (когда он нажимает на большой палец трека). Поскольку WM_HSCROLL не уведомляет об этом событии, мне было интересно, как узнать, когда пользователь начнет прокрутку. Я бы хотел избежать обработки запроса SB_THUMBTRACK, поскольку это означало бы, что мне придется обрабатывать его все время, когда прокрутка пользователя, и я просто хочу знать, когда он начнет это делать.
Просто обработайте TB_THUMBTRACK
и проигнорируйте все последующие TB_THUMBTRACK
пока не получите TB_ENDTRACK
. Это примерно 5-9 строк кода.
Для трекборов вы также должны использовать константы TB_ * (trackbar), а не константы SB_ * (полоса прокрутки), даже если их соответствующие значения одинаковы (например, SB_ENDSCROLL == TB_ENDTRACK == 8, SB_THUMBPOSITION == TB_THUMBPOSITION == 4).
TB_ENDTRACK
. (Я сам не пробовал, поэтому пока не даю ответ)