gpt4 book ai didi

winapi - 如何检测用户正在拖动滚动条旋钮

转载 作者:行者123 更新时间:2023-12-02 20:44:29 25 4
gpt4 key购买 nike

我有(旧的...)代码,可以使用 SetScrollRange() 在后台更新滚动条位置和最小-最大值,但是当用户拖动滚动条旋钮时,此代码不应运行因为它使旋钮在视觉上跳回到原始位置,然后当用户拖动或释放鼠标时跳回到用户选择的位置。

是否有一些简单的方法来检测拖动是否正在进行?

最佳答案

当用户拖动滚动条的拇指时,滚动条的所有者窗口会收到 WM_VSCROLL (垂直)或WM_HSCROLL (水平)消息(取决于滚动条的方向),其中 wParam 值的低位字设置为 SB_THUMBTRACK,高位字设置为新职位。

当用户释放拇指时,所有者窗口会收到两条最终 WM_(V|H)SCROLL 消息:

  • 第一条消息将 wParam 值的低位字设置为 SB_THUMBPOSITION,并将高位字设置为新位置。
  • 第二条消息的 wParam 低位字设置为 TB_ENDTRACK

您可以对拥有滚动条的 UI 控件进行子类化来拦截这些消息。当您看到任何 WM_(V|H)SCROLL 消息时,请不要更新滚动条,直到您看到 TB_ENDTRACK 通知。

关于winapi - 如何检测用户正在拖动滚动条旋钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44951744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com