# MouseMove 事件

用户移动鼠标时该事件发生。

对于多页和 TabStrip

Sub object_MouseMove( index, Button, Shift, X, Y)

对于其他控件
Sub object_MouseMove( Button, Shift, X, Y)

参数

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

成分 说明
object 必需。一个有效的对象名。
index 必需。与此事件相关的多页或 TabStrip 中的页或标签的索引号。
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。

用于标识各键盘组合键的常量:

常量 说明
fmShiftMask 1 检测 Shift 的标记。
fmCtrlMask 2 检测 Ctrl 的标记。
fmAltMask 4 检测 Alt 的标记。
说明

MouseMove 事件用于窗体、窗体上的控件和标签。

当鼠标指针在对象上移动时,MouseMove 事件连续发生。只要鼠标位于对象的边界之内,对象就会不断识别 MouseMove 事件,直至其他对象“捕捉”到了鼠标为止。

移动窗体也能产生 MouseMove 事件,即使鼠标是静止的。当窗体在箭头的下移动时,便会产生 MouseMove 事件。如果一个宏或者事件过程通过移动窗体以响应 MouseMove 事件,则该事件会连续产生(级联的)MouseMove 事件。

如果两个控件靠得很近,且很快将鼠标指针移过两控件之间的空间,则对于该空间 MouseMove 事件可能不会发生。在这种情况下,就可能需要在两个控件中响应 MouseMove 事件。

可用 Button 参数返回的值标识鼠标按键的状态。

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

注意 可用 MouseDown 和 MouseUp 事件过程响应按下和释放鼠标按键引起的事件。

示例
应用于