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