gpt4 book ai didi

c# - 如何像资源管理器那样处理 WM_MOUSEHWHEEL?

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:54 25 4
gpt4 key购买 nike

我有一个带滚轮的罗技 M705 鼠标,可以进行水平滚动。我已在我的 C# 程序中成功实现了此按钮事件的处理程序(如 here 所述实现),但到目前为止我只能让它滚动一次。在 Explorer 中,当我向右按下滚轮时,它会连续向右滚动,直到我松开滚轮。在我的程序中,它只滚动一步。在我松开并再次按下滚轮之前,不会看到 WM_MOUSEHWHEEL 消息!

问:如何为 WM_MOUSEHWHEEL 消息实现连续水平滚动?

最佳答案

将此添加到所有控件(表单、子项等):

protected override void WndProc(ref System.Windows.Forms.Message m)
{
base.WndProc(ref m);

const int WM_MOUSEHWHEEL = 0x020E;
if (m.Msg == WM_MOUSEHWHEEL)
{
m.Result = new IntPtr(HIWORD(m.WParam) / WHEEL_DELTA);
}
}

关键是要为所有可能处理消息的控件返回一个非零值!

关于c# - 如何像资源管理器那样处理 WM_MOUSEHWHEEL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11242956/

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