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 时,放置源支持取消操作。
大多数控件不支持拖放,而 Cancel 为 False,这是默认设置。 这意味着控件拒绝尝试拖放控件上的任何内容,并且控件不会启动 BeforeDropOrPaste 事件。 TextBox 和 ComboBox 控件是例外:即使 Cancel 为 False,这些控件也支持拖放操作。
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。