当数据放落到目标上,并且放落目标的 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 |
nXCoord, nYCoord
包含当释放鼠标将数据放落到目标上时,鼠标指针在表单中的水平(nXCoord) 和垂直 (nYCoord) 位置。这些坐标是按表单的坐标系表达的,表单的 ScaleMode 属性指定了度量单位。
说明
OLEDragDrop 是一个放落目标事件,只当控件或对象的 OLEDropMode 属性设置为 1?Enabled 时发生。如果 OLEDropMode 属性设置为 0 -Disabled 或 2 -Pass toContainer,则不发生该事件。
如果在 OleDragDrop 事件中执行自己的放落过程,则包含 NODEFAULT 可以阻止默认放落过程的发生。这时,必须设置 nEffect 的值。