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)
MouseDown 和 MouseUp 事件语法包含以下部分:
Part | 说明 |
---|---|
object | 必填。 一个有效对象。 |
index | 必填。 MultiPage 或 TabStrip 中具有指定事件的页或选项卡的索引。 |
Button | 必填。 标识导致事件发生的鼠标按钮的整数值。 |
Shift | 必填。 Shift、Ctrl 和 Alt 键的状态。 |
X, Y | 必填。 水平或垂直位置(以磅为单位),从窗体、 Frame 或 Page 的左边缘或上边缘。 |
设置
Button 的设置为:
常量 | 值 | 说明 |
---|---|---|
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。 |
使用下列常量标识各个键盘修饰符:
常量 | 值 | 说明 |
---|---|---|
fmShiftMask | 1 | 用于检测 Shift 的掩码。 |
fmCtrlMask | 2 | 用于检测 Ctrl 的掩码。 |
fmAltMask | 4 | 用于检测 Alt 的掩码。 |
备注
对于 MultiPage,当用户在控件上按鼠标按钮时,将发生 MouseDown 事件。
对于 TabStrip,index 参数标识用户单击的选项卡。 索引为 -1 表示用户未单击选项卡。例如,如果控件右上角没有选项卡,则单击右上角会将索引设置为 -1。
对于窗体,通过在窗体上的空白区域、记录选择器或滚动条中按下和释放鼠标按钮,用户可生成 MouseDown 和 MouseUp 事件。
与鼠标相关的事件的顺序为:
- MouseDown
- MouseUp
- Click
- DblClick
- MouseUp
MouseDown 或 MouseUp 事件过程指定在按下或释放鼠标按钮时发生的操作。 MouseDown 和 MouseUp 事件使您能够区分鼠标的左按钮、右按钮和中间按钮。 还可以为使用 Shift、Ctrl 和 Alt 键盘修饰符的鼠标键盘组合编写代码。
如果当指针位于窗体或控件的上方时按鼠标按钮,则此对象将“捕获”鼠标并接收所有鼠标事件(包括最后一个 MouseUp 事件)。 这意味着,由鼠标事件返回的 X、Y 鼠标指针坐标无法始终在接收它们的对象的边界内。
如果连续按鼠标按钮,则捕获鼠标的对象将接收所有连续鼠标事件,直到释放所有按钮。
在发生 MouseDown 或 MouseUp 事件时,使用 Shift 参数可标识 Shift、Ctrl 和 Alt 的状态。 例如,如果同时按 Ctrl 和 Alt,则 Shift 的值为 6。
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。