# 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 重新赋值。
应用于