如果在按Shift
键的同时使用鼠标滚轮,我想实现水平滚动。但在这种情况下,我没有收到任何WM_MOUSEWHEEL
消息:
procedure WMMouseWheel(var Msg: TMessage); message WM_MOUSEWHEEL; // is not called
根据documentation,应该有一条带有MK_SHIFT
WPARAM的WM_MOUSEWHEEL
消息。
有什么主意吗?
如果在按Shift
键的同时使用鼠标滚轮,我想实现水平滚动。但在这种情况下,我没有收到任何WM_MOUSEWHEEL
消息:
procedure WMMouseWheel(var Msg: TMessage); message WM_MOUSEWHEEL; // is not called
根据documentation,应该有一条带有MK_SHIFT
WPARAM的WM_MOUSEWHEEL
消息。
有什么主意吗?
1条答案
按热度按时间pokxtpni1#
编辑:下面的代码使用WM_MOUSEH滚轮,而不是WM_MICE滚轮来处理水平滚动。
我在我的代码库中找到了以下代码:
所以,这就是问题所在。我不明白为什么会这样,但您应该能够像我一样执行此操作,并覆盖
WndProc
来处理此消息。