让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年8 天前
VB编程语言最大源码项目VFB,photoDemon(类似PS的图像处理软件)
开源·vb6·photodemon
wtsolutions15 天前
Excel to JSON by WTSolutions 4.0.0 Update Announcement
json·excel·wps·addin·wtsolutions·conversion
专注VB编程开发20年2 个月前
JSA变成类似vba环境给第三方软件集成IDE功能,脚本功能
ide·microsoft·node.js·vba·wps·vb6·jsa
专注VB编程开发20年2 个月前
VB.NET2003和VB2008可以导入VB6项目
.net·vb.net·vb6·vb2008
专注VB编程开发20年3 个月前
vb.net COM DLL 示例,实现了所有 VB6 X86 数据类型的对应
开发语言·前端·vb.net·com·vb6·activex dll
专注VB编程开发20年7 个月前
在 VB6 中强制设置 Word 文档的纸张尺寸
ui·c#·word·vba·vb6
专注VB编程开发20年1 年前
vb6变体数据类型,Variant 类型的实质
开发语言·c#·vb6·variant·变体
专注VB编程开发20年1 年前
vb6多线程异步,VB.NET 全用API实现:CreateThread创建多线程,等待线程完成任务
爬虫·.net·线程池·vb6·vb6多线程·抢单·vba优化
键盘上的舞指2 年前
VB超级模块函数VB读写记事本-防止乱码支持UTF-8和GB2312编码
vb6·txt·文本文