2024年6月3日发(作者:)

VB 有关鼠标的操作

假如没有鼠标,电脑的普及率绝对没有目前这么高。在windows下,鼠标的作用不亚于

键盘。因此,在VB中设计基于windows下的应用程序,鼠标的操作和设计是非常重要的。

一、鼠标的移动、按键事件

要想在VB程序中自如应用鼠标,先要了解有关鼠标的事件,并学会如何编写这些事件

过程。最常见的鼠标事件有:

当在某个对象上移动鼠标、按下鼠标按键、释放鼠标按键时均会触发鼠标事件,它们分

别是:MouseMove、MouseDown、MouseUp。

鼠标的三个基本事件

事件 事件发生的条件 事件过程

Private Sub

Form_MouseMove(Button As

Integer, Shift As Integer, X As

Single, Y As Single)

End Sub

Private Sub

Form_MouseDown(Button As

Integer, Shift As Integer, X As

Single, Y As Single)

End Sub

Private Sub

Form_MouseUp(Button As

Integer, Shift As Integer, X As

Single, Y As Single)

End Sub

MouseMove 在某个对象上移动鼠标时

MouseDown 在某个对象上按下鼠标按键时

MouseUp 在某个对象上释放鼠标按键时

这三个鼠标事件过程均会返回四个参数:Button As Integer, Shift As Integer, X As Single, Y

As Single,它们的功能如下:

参数 功能 具体含义

Button

Button=1,表示是鼠标左键;

返回一个整数,表示按下或释放了Button=2,表示是鼠标右键;

鼠标上的哪个按钮 Button=4,表示是鼠标中间键

(如果有的话)。

返回一个整数,表示在按下或释放Shift=1,表示按下了Shift键;

鼠标按钮的同时是否按下了Shift=2,表示按下了Ctrl键;

Shift

Shift,Ctrl和 Alt键 Shift=4,表示按下了Alt键;也

可以同时按下多个按键,如

Shift=6表示同时按下了Ctrl和

Alt键 。

X,Y

返回鼠标指针当前的坐标

具体解释如下:

1、 MouseDown事件

当单击鼠标上的任何一个按键之后,都会引起MouseDown事件。许多对象都有这个事件。

如用鼠标在窗体上单击,可以引发这个事件,用鼠标单击“按钮”“标签”“文本框”等对象

也可以引发这个事件。该事件还带回来不少参数,下面是鼠标单击窗体任何位置所引发的

MouseDown事件,单击其它对象所带回的参数与此相同:

Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Integer,Y As Integer)

End Sub

其中:

(1)、Button参数

Button参数带回来的信息是用户按了鼠标上的哪能一个键,左键?右键?还是中间键?

Button=1,说明用户按的是鼠标的左键;

Button=2,说明用户按的是鼠标的右键;

Button=4,说明用户按的是鼠标的中间键;

(2)、Shift参数

Shift参数带回来的是用户按鼠标按键时是否同时按下了键盘上的Shift、Ctrl、Alt键。

Shift=1,说明用户在按下鼠标按键的同时,还按下了键盘上的Shift键;

Shift=2,说明用户在按下鼠标按键的同时,还按下了键盘上的Ctrl键;

Shift=3,说明用户在按下鼠标按键的同时,还按下了键盘上的Shift和Ctrl键;

Shift=4,说明用户在按下鼠标按键的同时,还按下了键盘上的Alt键;

Shift=5,说明用户在按下鼠标按键的同时,还按下了键盘上的Shift和Alt键;

Shift=6,说明用户在按下鼠标按键的同时,还按下了键盘上的Ctrl和Alt键;

Shift=7,说明用户在按下鼠标按键的同时,还按下了键盘上的Shift、Ctrl和Alt键;

(3)、X,Y参数

X,Y参数带回来的是鼠标指针在屏幕上的坐标(x,y)。

2、MouseMove事件

当在任何对象上移动鼠标时,会引发MouseMove事件。下面是鼠标在窗体上任何位置移动

所引发的MouseMove事件,鼠标在其它对象上移动所带回的参数与此相同:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

End Sub

其中所返回的参数Button、Shift、X、Y与MouseDown事件过程返回的参数完全相同,这

里不再重复。

3、MouseUp事件

当鼠标单击任何一个对象,松开鼠标按键时,都会引起MouseUp事件,同时还带回来不少

参数,下面是鼠标单击窗体上任何一个位置,松开鼠标按钮时所引发的MouseUp事件,对

于其它对象所带回的参数与此相同:

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

End Sub

其中所带回的参数Button、Shift、X、Y与MouseDown事件返回的参数完全相同,这里不

再重复。