MouseDown、MouseUp 事件

用户单击鼠标按钮时发生。 当用户按鼠标按钮时,将发生 MouseDown;当用户释放鼠标按钮时,将发生 MouseUp。

语法

对于 MultiPage,TabStrip
Private Sub对象 _MouseDown (indexAs Long
ByVal按钮作为 fmButton
ByValShiftAs fmShiftState
ByValXAs Single
ByValYAs Single) Private Subobject _MouseUp (indexAs Long
ByVal按钮作为 fmButton
ByValShiftAs fmShiftState
ByValXAs Single
ByValYAs Single)

对于其他控件
Private Sub对象 _MouseDown ( ByValButtonAs fmButton
ByValShiftAs fmShiftState
ByValXAs Single
ByValYAs Single) Private Subobject _MouseUp ( ByValButtonAs fmButton
ByValShiftAs fmShiftState
ByValXAs Single
ByValYAs Single)

MouseDownMouseUp 事件语法包含以下部分:

Part 说明
object 必填。 一个有效对象。
index 必填。 MultiPageTabStrip 中具有指定事件的页或选项卡的索引。
Button 必填。 标识导致事件发生的鼠标按钮的整数值。
Shift 必填。 Shift、Ctrl 和 Alt 键的状态。
X, Y 必填。 水平或垂直位置(以磅为单位),从窗体、 FramePage 的左边缘或上边缘。

设置

Button 的设置为:

常量 Description
fmButtonLeft 1 已按下左按钮。
fmButtonRight 2 已按下右按钮。
fmButtonMiddle 4 已按下中间按钮。

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 的掩码。

备注

对于 MultiPage,当用户在控件上按鼠标按钮时,将发生 MouseDown 事件。

对于 TabStrip,index 参数标识用户单击的选项卡。 索引为 -1 表示用户未单击选项卡。例如,如果控件右上角没有选项卡,则单击右上角会将索引设置为 -1。

对于窗体,通过在窗体上的空白区域、记录选择器或滚动条中按下和释放鼠标按钮,用户可生成 MouseDown 和 MouseUp 事件。

与鼠标相关的事件的顺序为:

  1. MouseDown
  2. MouseUp
  3. Click
  4. DblClick
  5. MouseUp

MouseDown 或 MouseUp 事件过程指定在按下或释放鼠标按钮时发生的操作。 MouseDown 和 MouseUp 事件使您能够区分鼠标的左按钮、右按钮和中间按钮。 还可以为使用 Shift、Ctrl 和 Alt 键盘修饰符的鼠标键盘组合编写代码。

如果当指针位于窗体或控件的上方时按鼠标按钮,则此对象将“捕获”鼠标并接收所有鼠标事件(包括最后一个 MouseUp 事件)。 这意味着,由鼠标事件返回的 XY 鼠标指针坐标无法始终在接收它们的对象的边界内。

如果连续按鼠标按钮,则捕获鼠标的对象将接收所有连续鼠标事件,直到释放所有按钮。

在发生 MouseDown 或 MouseUp 事件时,使用 Shift 参数可标识 Shift、Ctrl 和 Alt 的状态。 例如,如果同时按 Ctrl 和 Alt,则 Shift 的值为 6。

另请参阅

支持和反馈

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