WinAPI:轨迹栏滚动开始通知

时间:2014-11-10 11:13:19

标签: c++ winapi trackbar

我的应用程序中有一个轨迹栏控件,我想在用户开始滚动操作时(当他点击轨迹栏的拇指时)做一些事情。由于WM_HSCROLL没有通知这样的事件,我想知道如何知道用户何时开始滚动。我想避免处理SB_THUMBTRACK请求,因为这意味着我必须在用户滚动时始终处理它,而我只是想知道他什么时候开始这样做。

1 个答案:

答案 0 :(得分:2)

只需处理TB_THUMBTRACK并忽略所有后续TB_THUMBTRACK,直到获得TB_ENDTRACK。这大约是5-9行代码。

对于轨迹栏,您还应该使用TB_ *(轨迹栏)常量而不是SB_ *(滚动条)常量,即使它们各自的值相同(例如SB_ENDSCROLL == TB_ENDTRACK == 8,SB_THUMBPOSITION == TB_THUMBPOSITION == 4 )。