MouseMove 事件

在用户移动鼠标时发生。

语法

对于 MultiPage,TabStrip: Private Subobject _MouseMove (indexAs LongByValButtonAs fmButtonByValShiftAs fmShiftStateByValXAs SingleByValYAs Single)

对于其他控件: Private Sub对象 _MouseMove ( ByValButtonAs fmButtonByValShiftAs fmShiftStateByValXAs SingleByValYAs Single)

MouseMove 事件的语法包含以下部分:

Part 说明
object 必填。 有效的对象名称。
index 必填。 与此事件关联的 MultiPageTabStrip 中页面或选项卡的索引。
Button 必填。 标识鼠标按钮状态的整数值。
Shift 必填。 指定 Shift、Ctrl 和 Alt 的状态。
X, Y 必填。 从控件的左或上边缘以磅为单位测量的水平或垂直位置。

设置

index 参数指定被单击的页面或选项卡。 - 1 表示用户未单击任何页面或选项卡。

Button 的设置是:

说明
0 未按下任何按钮。
1 已按下左键。
2 已按下右键。
3 已按下右键和左键。
4 已按下中键。
5 已按下中键和左键。
6 已按下中键和右键。
7 已按下全部三个键。

Shift 的设置是:

说明
1 已按下 Shift。
2 已按下 Ctrl。
3 已按下 Shift 和 Ctrl。
4 已按下 Alt。
5 已按下 Alt 和 Shift。
6 已按下 Alt 和 Ctrl。
7 已按下 Alt、Shift 和 Ctrl。

使用下列常量标识各个键盘修饰符:

常量 Description
fmShiftMask 1 用于检测 Shift 的掩码。
fmCtrlMask 2 用于检测 Ctrl 的掩码。
fmAltMask 4 用于检测 Alt 的掩码。

备注

MouseMove 事件适用于窗体、窗体中的控件以及标签。

当鼠标指针移过对象时,会不断生成 MouseMove 事件。 除非其他对象已捕获鼠标,否则只要鼠标位置在其边界内,对象便可识别 MouseMove 事件。

即使鼠标静止,移动窗体也可生成 MouseMove 事件。 当窗体移动到指针下面时,会生成 MouseMove 事件。 如果宏或事件过程为响应 MouseMove 事件而移动窗体,事件可以不断生成(级联)MouseMove 事件。

如果两个控件离得非常近,并在两者之间的空间内快速移动鼠标指针,则对于该空间可能不会发生 MouseMove 事件。 在此类情况下,您可能需要在两个控件中都响应 MouseMove 事件。

使用 Button 参数中返回的值来标识鼠标按钮的状态。

在 MouseMove 事件发生时使用 Shift 参数标识 Shift、Ctrl 和 Alt 的状态。 例如,如果 Ctrl 和 Alt 都已按下,则 Shift 的值为 6。

注意

使用 MouseDown 和 MouseUp 事件过程响应由按下和释放鼠标按钮引起的事件。

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。