我的应用程序中有一个轨迹栏控件,我想在用户开始滚动操作时(当他点击轨迹栏的拇指时)做一些事情。由于WM_HSCROLL没有通知这样的事件,我想知道如何知道用户何时开始滚动。我想避免处理SB_THUMBTRACK请求,因为这意味着我必须在用户滚动时始终处理它,而我只是想知道他什么时候开始这样做。
答案 0 :(得分:2)
只需处理TB_THUMBTRACK
并忽略所有后续TB_THUMBTRACK
,直到获得TB_ENDTRACK
。这大约是5-9行代码。
对于轨迹栏,您还应该使用TB_ *(轨迹栏)常量而不是SB_ *(滚动条)常量,即使它们各自的值相同(例如SB_ENDSCROLL == TB_ENDTRACK == 8,SB_THUMBPOSITION == TB_THUMBPOSITION == 4 )。