让EXCEL VBA支持鼠标滚轮,vb6 IDE鼠标滚轮插件原理

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 消息也很简单

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

相关推荐
专注VB编程开发20年7 天前
vb6多线程异步,VB.NET 全用API实现:CreateThread创建多线程,等待线程完成任务
爬虫·.net·线程池·vb6·vb6多线程·抢单·vba优化
键盘上的舞指4 个月前
VB超级模块函数VB读写记事本-防止乱码支持UTF-8和GB2312编码
vb6·txt·文本文
专注VB编程开发20年5 个月前
vb如何获取鼠标形状的特征码
计算机外设·vb6·光标形状
津津有味道7 个月前
VB6批量修改IC卡全部扇区密钥源码
rfid·nfc·vb6·修改ic卡密钥
津津有味道8 个月前
Vb6 TCP Server服务端监听多个RFID读卡器客户端上传的刷卡数据
服务器·tcp·rfid·server·vb6