MouseMove 事件
在用户移动鼠标时发生。
语法
对于 MultiPage,TabStrip: Private Subobject _MouseMove (indexAs Long, ByValButtonAs fmButton, ByValShiftAs fmShiftState, ByValXAs Single, ByValYAs Single)
对于其他控件: Private Sub对象 _MouseMove ( ByValButtonAs fmButton、 ByValShiftAs fmShiftState、 ByValXAs Single、 ByValYAs Single)
MouseMove 事件的语法包含以下部分:
Part | 说明 |
---|---|
object | 必填。 有效的对象名称。 |
index | 必填。 与此事件关联的 MultiPage 或 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。 |
使用下列常量标识各个键盘修饰符:
常量 | 值 | 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。