Происходит, когда data перетаскивается на целевой объект операции drop и свойство этого объекта OLEDropMode установлено в 1 – Enabled.
PROCEDURE Object.OLEDragDrop LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord |
Возвращаемое значение
- oDataObject
-
Объектная ссылка на OLE drag-and-drop DataObject, используемый методами GetData и GetFormat для возврата данных и их формата в DataObject.
- nEffect
-
Значение, посылаемое событию OLECompleteDrag, указывающее действие, производимое, когда данные будут брошены на целевой объект операции drop. nEffect является начальным значение, указывающим, что операции OLE drag-and-drop поддерживаются источником данных, то есть объектом операции drag. Внутри события OLEDragDrop вы можете изменить значение nEffect , которые посылается событию OLECompleteDrag. Если вы изменили значение nEffect, убедитесь, что включили в процедурный код события команду NODEFAULT, для предотвращения поведения по умолчанию. В приведенной ниже таблице перечислены значения для nEffect, которые вы можете послать событию OLECompleteDrag, с описанием каждого действия.
nEffect константа Foxpro.h Описание 0
DROPEFFECT_NONE
Целевой объект операции Drop не принимает данных и операция прекращается.
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) позиции указателя мыши внутри формы, в момент, когда была отпущена ее клавиша для "бросания" данных на целевой объект операции drop. Эти координаты выражаются в терминах координатной системы формы и в единицахз измерения, определяемых значением свойства формы ScaleMode.
Примечания
Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Shape | Spinner | TextBox | ToolBar
OLEDragDrop представляет собой событие операции drop целевого объекта, которое происходит только в случае, если свойство OLEDropMode для элемента управления или объекта, являющихся целевыми объектами операции, установлено в 1 – Enabled. Это событие не происходит, если свойство OLEDropMode установлено в 0 – Disabled или 2 – Pass to Container.
Если вы производите свою собственную обработку операции drop в событии OleDragDrop, включите команду NODEFAULT для предотвращения дефолтной обработки операции drop. В этом случае, вы должны установить результирующее значение для аргумента nEffect.
Смотрите также
Справочное руководство
OLE Drag-and-DropСобытие OLECompleteDrag
Свойство OLEDropMode
Команда NODEFAULT