oledragdrop 事件

应用于 请参阅

当数据放落到目标上,并且放落目标的 OLEDropMode 属性设置为 1 ?Enabled 时发生。

语法

PROCEDURE Object.OLEDragDrop
LPARAMETERS oDataObject, nEffect, nButton, nShift,
nXCoord, nYCoord

设置

oDataObject

对 OLE 拖放 DataObject 的一个对象引用,同 GetData 和 GetFormat 方法一起使用可以返回 DataObject 中的数据和数据格式。

nEffect

传递给 OLECompleteDrag 事件的一个值,表明当数据放落到目标上时采取的动作。nEffect 的初始值表明拖动源支持的 OLE 拖放操作。在 OLEDragDrop事件中,您可以更改 nEffect 的值,该值传递给 OLECompleteDrag 事件。下表列出了 nEffect 的值,以及每种动作的说明。

nEffect Foxpro.h 常数 说明
0 DROPEFFECT_NONE 放落目标不接受数据,或者取消了 OLE 放落操作。
1 DROPEFFECT_COPY 数据从拖动源复制到放落目标中。
2 DROPEFFECT_MOVE 数据从拖动源移动到放落目标中。
4 DROPEFFECT_LINK 数据从拖动源链接到放落目标。

nButton

包含一个数字,该数字指定了为将数据放落到目标上,放开了哪个鼠标键:1(左键)、2(右键)或4(中间键)。

nShift

包含一个数字,该数字指定了将数据放落到目标上时,辅助键的状态。有效的辅助键是 SHIFT、CTRL 和 ALT。下表列出了对应于单个辅助键的 nShift返回值。

nShift 辅助键
1 SHIFT
2 CTRL
4 ALT

如果当按下鼠标时按住了多个辅助键,则 nShift 参数包含这些辅助键的值的和。例如,释放鼠标键时按下 CTRL 键,nShift 参数包含2。但是如果在释放鼠标键时按下CTRL+ALT, nShift 参数包含 6。

nXCoord, nYCoord

包含当释放鼠标将数据放落到目标上时,鼠标指针在表单中的水平(nXCoord) 和垂直 (nYCoord) 位置。这些坐标是按表单的坐标系表达的,表单的 ScaleMode 属性指定了度量单位。

说明

OLEDragDrop 是一个放落目标事件,只当控件或对象的 OLEDropMode 属性设置为 1?Enabled 时发生。如果 OLEDropMode 属性设置为 0 -Disabled 或 2 -Pass toContainer,则不发生该事件。

如果在 OleDragDrop 事件中执行自己的放落过程,则包含 NODEFAULT 可以阻止默认放落过程的发生。这时,必须设置 nEffect 的值。