Происходит, когда данные перетаскиваются над целевым объектом, в который перетаскиваются данные, а свойство OLEDropMode этого целевого объекта установлено в 1 – Enabled.

PROCEDURE Object.OLEDragOver
LPARAMETERS oDataObject, nEffect, nButton,
  nShift,   nXCoord, nYCoord, nState

Expand imageВозвращаемое значение

oDataObject

Объектная ссылка на OLE drag-and-drop DataObject, используемый методами GetData и GetFormat

для возврата данных и формата данных в DataObject.

nEffect

Значение, посылаемое событию OLEGiveFeedback, указывающее на производимое действие, если данные перетащены на целевой объект. nEffect является начальным значением, которое показывает, что операции OLE drag-and-drop поддерживаются источником данных для перетаскивания. В приведенной ниже таблице перечислены значения для nEffect с описанием каждого действия.

nEffect константа Foxpro.h Описание

0

DROPEFFECT_NONE

Объект, на который перетаскиваются данные не принимает данные или операция "бросания" прекращена.

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.

nState

Содержит число, определяющее направление, в котором перетаскивались данные - в элемент управления или объект, внутрь объекта или элемента управления или наружу из элемента управления или объекта. Значения для nState перечислены в приведенной ниже таблице.

nState Описание

0

Данные перетаскиваются в элемент управления или объект. Свойства OLEDropEffects и OLEDropHasData должны быть установлены, когда nState равен нулю.

1

Данные перетаскиваются из элемента управления или объекта.

2

Данные перетаскиваются внутри элемента управления или объекта.

Expand imageПримечания

Применяется к: 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

OLEDragOver is a drop target event that only occurs when the OLEDropMode property for the control or object is set to 1 – Enabled. Это событие не происходит, если свойство OLEDropMode установлено в 0 – Disabled или в 2 – Pass to Container.

Отметьте, что вы должны избегать состояния ожидания в событии OLEDragOver, которое могут вызвать такие команды, как WAIT WINDOW и MESSAGEBOX().

Expand imageСмотрите также