如何编程控制鼠标中间滚轮
编号:QA004751
建立日期: 2003年11月8日 最后修改日期:2003年11月8日
所属类别:
Q
陆在平:
操作系统: Windows 98
编程工具: VB6.0
问题: 如何编程控制鼠标中间滚轮,如鼠标中间滚轮往前推程序触发一个相应事件。谢谢!
A回答:
当鼠标中间滚轮运动时,Windows会发送WM_MOUSEWHEEL消息,不过VB没有提供对应的事件。在http://www.vbthunder.com/default.asp?srcget=27你可以下载一个VB的例子,这个例子告诉你如何扑捉WM_MOUSEWHEEL消息。如果你想在自己的工程中使用这个功能,只需要将modWheel.bas和MWheel.ctl文件加入你的工程,这样你的工具箱中会增加一个MWheel控件。然后在窗体上放置一个MWheel控件,在MWheel控件的WheelScroll中添加代码就可以了代码就可以了。该事件定义如下:
Private Sub MWheel1_WheelScroll(Shift As Integer, _
zDelta As Integer, X As Single, Y As Single)
其中Shift表示按键的状态,定义和MouseMove等事件相同。zDelta传递滚轮滚动的快慢,该值小于零表示滚轮向后滚动(朝用户方向),大于零表示滚轮向前滚动(朝显示器方向)。X、Y表示坐标,定义和MouseMove等事件相同。
另外,可以参考微软的Knowledge Base的文章:“Q231465 BUG: No WM_MOUSEWHEEL Message is Received after Adding a UserControl to a Form”。
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 键盘与鼠标, mouse, keyboard, hid。
| |
|
|
| |
|
|