【问题标题】:WinAPI: Trackbar scroll begin notificationWinAPI:轨迹栏滚动开始通知
【发布时间】:2014-11-10 11:13:19
【问题描述】:

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

【问题讨论】:

标签: c++ winapi trackbar


【解决方案1】:

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

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

【讨论】:

  • 我明白了。 AFAIK 文档中没有提到它,但我将从现在开始使用这些常量。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-20
  • 2019-08-05
  • 2022-01-05
  • 1970-01-01
相关资源
最近更新 更多