当前位置:   article > 正文

让EXCEL VBA支持鼠标滚轮,vb6 IDE鼠标滚轮插件原理_vba 如何滑动滚轮

vba 如何滑动滚轮

vb6 IDE鼠标滚轮插件怎么运行的(适用于VBA)

使用 Spy++,我发现代码窗口正在获取 WM_MOUSEWHEEL 事件,但没有触发 WM_VSCROLL 消息。因此,我编写了一个简单的消息钩子,当它捕获鼠标滚轮事件时触发滚动事件。
我从 Spy++ 得知代码窗口的类是“VbaWindow”,因此我可以使用它来确保只处理那些事件。我只是在每个消息的 HWND 上使用 GetClassName 函数,并忽略除 VB6 代码窗口之外的任何内容。
然后,我只需向窗口发送 WM_VSCROLL 消息。但由于窗口的滚动条有自己的 HWND,我需要先找到它们。因此,我使用 FindWindow 函数查找类名为“ScrollBar”的子窗口。如果找到一个,则使用 GetWindowLong 检索窗口的样式。如果样式设置了 SBS_VERT 位,那么我知道我有正确的滚动条。简而言之,就是这样!

另外,我还偷懒拍了一张我的鼠标的照片作为程序的图标。嘿,我不是艺术家!但看起来不错!:)
去做:滚轮在类名为“DesignerWindow”的资源编辑窗口中也无法使用。但是,虽然 Spy++ 显示 WM_MOUSEWHEEL 消息已发送到这些窗口,但我的程序从未收到它们。如果我能找出原因,那么为该窗口触发 WM_VSCROLL 消息也很简单

大家知道哪些插件能做到这点?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/662387
推荐阅读
相关标签
  

闽ICP备14008679号