【发布时间】:2012-04-28 21:38:21
【问题描述】:
我正在尝试使用 CScrollBar 在对话框中导航项目列表。我在对话框中捕获 OnVScroll 消息,滚动条正确响应单击栏顶部和底部的箭头,并单击栏的范围以前进整页。问题是当您尝试拖动拇指时,它完全没有响应,直到您释放鼠标按钮,此时拇指移动到正确的位置。
我使用 spy++ 来查找 WM_VSCROLL 消息,似乎它们仅在您单击拇指并释放它时以 SB_THUMBTRACK 模式发送,而不是在拖动时发送。然而,CScrollBar 上的 msdn 页面说这些消息应该在拖动拇指时连续发送。由于我没有收到这些消息,因此我不知道拇指在哪里,也无法设置当前位置。
我认为这些消息不会在其他任何地方被截获,首先是因为 spy++ 即使我将其设置为记录所有消息也没有看到它们,其次是因为该栏在单击和释放时确实会收到两条缩略图消息。
无论是给对话框设置 WS_VSCROLL 样式还是创建 CScrollBar 并将其放置在对话框中,我都会遇到这个问题。
我有什么遗漏吗?
【问题讨论】: