BeforeDragOver 事件

在正在执行拖放操作时发生。

语法

对于 Frame
Private Sub对象 _BeforeDragOver ( ByValCancelAs MSForms.ReturnBoolean
Ctrl作为控件
ByValDataAs DataObject
ByValXAs Single
ByValYAs Single
ByValDragStateAs fmDragState
ByVal效果作为 MSForms.ReturnEffect
ByValShiftAs fmShiftState)

对于 MultiPage
Private Sub对象 _BeforeDragOver (indexAs Long
ByValCancelAs MSForms.ReturnBoolean
Ctrl作为控件
ByValDataAs DataObject
ByValXAs Single
ByValYAs Single
ByValDragStateAs fmDragState
ByVal效果作为 MSForms.ReturnEffect
ByValShiftAs fmShiftState)

对于 TabStrip
Private Sub对象 _BeforeDragOver (indexAs Long
ByValCancelAs MSForms.ReturnBoolean
ByValDataAs DataObject
ByValXAs Single
ByValYAs Single
ByValDragStateAs fmDragState
ByVal效果作为 MSForms.ReturnEffect
ByValShiftAs fmShiftState)

对于其他控件
Private Sub对象 _BeforeDragOver ( ByValCancelAs MSForms.ReturnBoolean
ByValDataAs DataObject
ByValXAs Single
ByValYAs Single
ByValDragStateAs fmDragState
ByVal效果作为 MSForms.ReturnEffect
ByValShiftAs fmShiftState)

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

Part 说明
object 必填。 有效的对象名称。
index 必填。 拖放操作会影响的 MultiPage页面的索引。
Cancel 必填。 事件状态。 False 指示应由控件处理事件(默认)。 True 指示由应用程序处理事件。
Ctrl 必填。 被拖过的控件。
Data 必填。 在拖放操作中拖动的数据。 数据打包在 DataObject 中。
X, Y 必填。 控件位置的水平和垂直坐标。 两个坐标都用磅来测量。 X 从控件的左边缘测量;Y 从控件的上边缘测量。
DragState 必填。 被拖动数据的切换状态。
Effect 必填。 拖放源支持的操作。
Shift 必填。 指定 Shift、Ctrl 和 Alt 的状态。

设置

DragState 的设置是:

常量 Description
fmDragStateEnter 0 鼠标指针在目标的范围内。
fmDragStateLeave 1 鼠标指针在目标的范围外。
fmDragStateOver 2 鼠标指针在新位置,但仍保留在同一目标的范围内。

Effect 的设置是:

常量 Description
fmDropEffectNone 0 不将拖放源复制或移动到拖放目标。
fmDropEffectCopy 1 将放置源复制到放置目标。
fmDropEffectMove 2 将放置源移动到放置目标。
fmDropEffectCopyOrMove 3 将拖放源复制或移动到拖放目标。

Shift 的设置为:

常量 Description
fmShiftMask 1 已按下 Shift 键。
fmCtrlMask 2 已按下 Ctrl 键。
fmAltMask 4 已按下 Alt 键。

备注

使用此事件可在鼠标指针进入、离开或直接停留在有效目标上时进行监视。 当拖放操作正在进行时,系统会在用户移动鼠标、按下或释放鼠标的一个或多个按键时启动此事件。 鼠标指针位置确定接收此事件的目标对象。 通过检查 DragState 参数可以确定鼠标指针的状态。

当事件处理此事件时,可以使用 Effect 参数标识要执行的拖放操作。

Effect 设置为 fmDropEffectCopyOrMove 时,拖放源支持复制 (fmDropEffectCopy)、移动 (fmDropEffectMove) 或取消 (fmDropEffectNone) 操作。

Effect 设置为 fmDropEffectCopy 时,拖放源支持复制或取消 (fmDropEffectNone) 操作。

Effect 设置为 fmDropEffectMove 时,拖放源支持移动或取消 (fmDropEffectNone) 操作。

Effect 设置为 fmDropEffectNone 时,放置源支持取消操作。

大多数控件不支持拖放,而 CancelFalse,这是默认设置。 这意味着控件拒绝尝试拖放控件上的任何内容,并且控件不会启动 BeforeDropOrPaste 事件。 TextBoxComboBox 控件是例外:即使 CancelFalse,这些控件也支持拖放操作。

另请参阅

支持和反馈

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