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 消息也很简单
大家知道哪些插件能做到这点?