VB事件的鼠标事件
鼠标事件是Visual Basic编程中最常用到的事件,多数控件都支持鼠标操作,因此对鼠 标事件进行编程是非常重要的。
鼠标事件主要有以下几种:
Click:单击事件,即单击鼠标时发生的事件。
DblClick:双击事件,即双击鼠标时发生的事件。
MouseDown:鼠标按下时发生的事件。
MouseUp:鼠标抬起时发生的事件。
MouseMove:鼠标移动时发生的事件,对某控件的此事件进行编程,则当鼠标移过此控件时就会触发此事件,执行其相应代码。
鼠标事件的发生顺序是:
(1)首先发生的是MouseMove事件,当鼠标移动时,将会连续触发MoouseMove事件。
(2)当鼠标按下时发生MouseDown事件。
(3)鼠标松开时发生MouseUp事件。
(4)如果按住的是鼠标左键,则Click事件在MouseUp之后发生。
双击鼠标时事件发生顺序是:
(1)当鼠标按下时发生MouseDown事件。
(2)鼠标松开时发生MouseUp事件。
(3)单击鼠标发生Click事件。
(4)双击鼠标发生DblClick事件。
(5)完成鼠标双击时发生MouseUp事件。
在上面所列出的这些事件中,最常用到的就是Click事件和DblClcik事件,MouseMove和 douseUp事件不太经常用,一般用在需要对鼠标进行处理的地方。如:对于最常见的命令按钮,通常情况下我们使用Click事件;而在进行画图的时候, 例如画一条直线,必须先按住鼠标左键,然后拖动鼠标,再松开鼠标。在此过程中,首先触发MouseDown事件,我们可以在此事件中记录鼠标的开始位置, 再对MouseUp事件进行编程,以记录鼠标的结束位置;其中还要对MouseMoove事件进行编程,以在移动过程中进行处理画图操作,而不是 Click或DblClick事件。
鼠标的单击事件定义如下:
Sub Click()
End Sub
双击事件定义如下:
Sub DblClick()
End Sub
对于MouseDown和MouseUp事件,它们的定义要复杂的多。对于MouseUp事件,其定义如下:
Private Sub Labell _MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
End S
在上面的参数中,Button As Integer定义了参数Button,该参数是用于确定按下的是鼠标的左键,右键,还是中键,其取值如下表所示。
常量 数值 说明
VbleftButton 1 按下鼠标左键
VbRightButton 2 按下鼠标右键
VbMiddleButton 4 按下鼠标中键
Shift As Integer定义整型参数Shift,该参数用于确定键盘上Shift键、Ctrl键、Alt 键是否被按下,其取值如下表所示。 常量 数值 说明 VbShiftMask 1 按下Shift键 VbCtrlMask 2 按下Ctrl键 VbAltMask 4 按下Alt键 要判断是哪个键被按下了,要由相应的程序代码来完成。如:
Private Sub Labell MouseUp(Button AS Integer,Shift As Integer,X aS Sing , Y as Single)
If Button=VbRightButton Then
Msgbox(“你按下去的是鼠标右键”)
End If
End Sub
此段代码在鼠标抬起时执行,程序中用If条件判断语句来判断究竟是哪个键被按
当Button=VbRightButton成立时,即鼠标右键被按下,这时可以执行相应的操作。
Private Sub Labell MouseUp(Button As Integer,Shift As Integer,X as Sin2 Single)
If Shift=2 Then
Msgbox(“单击鼠标时Ctrl键被按下”)
EndIf
End Sub
这段代码在执行过程中判断当鼠标抬起时键盘上哪个键被按了下去。如上表说明,当Shift值为2时,表示Ctrl键被按了下去。
由上面的例子可以看出我们可以对鼠标进行一些判断,然后执行一些特殊操作,但用起来通常比较麻烦。