# BeforeDropOrPaste 事件

当用户即将在一个对象上放置或粘贴数据时,该事件发生。

框架

Sub object_BeforeDropOrPaste( Cancel, ctrl, Action, Data , X , Y , Effect, Shift )

多页

Sub object_BeforeDropOrPaste( index As Long, Cancel, ctrl, Action, Data , X , Y , Effect, Shift )

TabStrip
Sub object_BeforeDropOrPaste( index As Long, Cancel, Action, Data , X , Y , Effect, Shift )

其他控件
Sub object_BeforeDropOrPaste( Cancel, Action, Data , X , Y , Effect, Shift )

参数

BeforeDropOrPaste 事件的语法具有以下参数:

成分 说明
object 必需。一个有效对象名。
index 必需。放置或粘贴操作将影响到的多页中页面的索引。
Cancel 必需。事件状态。False 表示由控件处理该事件(这是默认方式)。True 表示由应用程序处理该事件。
ctrl 必需。目标控件。
Action 必需。根据当前的键盘设置,指出即将进行的拖放操作的结果。
Data 必需。在拖放操作中被拖动的数据。该数据被打包在 DataObject 中。
X, Y 必需。当放置操作发生时鼠标指针位置的横坐标和纵坐标。这两个坐标都以磅为单位。X 从控件的左边开始测量;Y 从控件的顶边开始测量。
Effect 必需。拖放操作对于目标控件的影响。
Shift 必需。指定 Shift、Ctrl 和 Alt 的状态。
设置

Action 的设置如下:

常量 说明
fmActionPaste 2 将选中的对象粘贴到放置目标。
fmActionDragDrop 3 指明用户已经将对象从源拖动到放置目标,并将对象放置到放置目标。

Effect 的设置如下:

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

Shift 的设置如下:

常量 说明
fmShiftMask 1 按下 Shift。
fmCtrlMask 2 按下 Ctrl。
fmAltMask 4 按下 Alt。
说明

对于多页或 TabStrip,当 Visual Basic for Applications 传输一个数据对象到该控件时,初始化此事件。

对于其他控件,系统在即将进行放置或粘贴操作时初始化该事件。

当控件处理该事件时,可以更新 Action 参数以识别需执行的拖放操作。当 Effect 设置为 fmDropEffectCopyOrMove 时,可以将 Action 的值设置为 fmDropEffectNone、fmDropEffectCopy 或 fmDropEffectMove。当 Effect 设置为 fmDropEffectCopy 或 fmDropEffectMove 时,可以把 Action 的值设置为 fmDropEffectNone。当 Effect 设置为 fmDropEffectNone 时,不能对 Action 重新赋值。

应用于