怎么结合 MouseDown 和 MouseUp 事件使用 Button 参数(VBA)

2024-12-02 01:59:26
推荐回答(1个)
回答1:

因为对每个事件只设置一位,所以无法检测是否同时按下了两个以上按钮。换句话说,MouseDown 和 MouseUp 一次只能识别一个按钮。
注意与此成对照的是,可用 MouseMove 事件检测是否同时按下了两个以上按钮。MouseMove 还能检测是否按下某个特定的按钮,而不管是否同时还有其它按钮被按下。关于详细信息,请参阅本章后面的“结合 MouseMove 使用 Button 参数”。
可用简单代码指明哪个按钮触发了 MouseDown 事件或 MouseUp 事件。以下过程对 button 是否等于 1、2 或 4 进行检测:
Private Sub Form_MouseDown (Button As Integer, _
Shift As Integer, X As Single, Y As Single)
If Button = 1 Then Print "You pressed _
the left button."
If Button = 2 Then Print "You pressed _
the right button."
If Button = 4 Then Print "You pressed _
the middle button."
End Sub
如果按下多个按钮,Visual Basic 就会将操作解释为两个或多个独立的 MouseDown 事件。它为按下的第一个按钮设置位并在窗体上显示此按钮的信息,然后对下一个按钮完成相同的工作。同样,Visual Basic 也将两个或多个按钮释放操作解释为独立的 MouseUp 事件。
当释放已被按下的按钮时,以下过程将显示一条信息: