Событие DragOver

Имеет место, когда элемент управления, перетаскиваемый с помощью мыши, накрывает объект назначения.

Применение:
CheckBox, ComboBox, CommandButton, CommandGroup, Объект Control, EditBox, Form, Grid, Image, Label, Line, ListBox, Связанный элемент управления OLE, Элемент управления OLE - контейнер, OptionButton, OptionGroup, Page, PageFrame, Shape, Spinner, TextBox, ToolBar.

Синтаксис:

PROCEDURE Object.DragOver
LPARAMETERS [nIndex,] oSource, nXCoord, nYCoord, nState

Параметры
Необходимо включить в процедуру, связанную с данным событием, оператор LPARAMETERS или PARAMETERS и задать имя для каждого параметра, иначе произойдет ошибка.
Visual FoxPro передает событию DragOver четыре или пять параметров в следующем порядке:
nIndex
Однозначно идентифицирует элемент управления, если он принадлежит массиву элементов управления.
oSource
Содержит ссылку на перетаскиваемый элемент управления. С помощью этого параметра вы можете ссылаться на свойства и методы данного элемента управления.
nXCoord, nYCoord
Содержит текущие горизонтальную (nXCoord) и вертикальную (nYCoord) координаты указателя мыши в форме или элементе управления, к которым производится перетаскивание. Эти координаты всегда выражаются относительно координатной системы объекта назначения, с использованием единицы измерения, определяемой свойством ScaleMode.
nState
Содержит число, обозначающее переходное состояние перемещаемого элемента управления относительно объекта назначения:

С помощью параметра nState можно определять действия, которые должны выполняться в ключевые переходные моменты. Например, в состоянии nState = 0 (Enter) можно выделить подсветкой предполагаемый объект назначения, а в состоянии nState = 1 (Leave) восстановить его прежний вид.
Когда объект получает событие DragOver в состоянии nState = 0 (Enter), происходит следующее:
Если исходный элемент управления остается на месте объекта назначения, инициируется событие DragDrop.
Если исходный элемент управления не остается на месте допустимого объекта назначения, инициируется другое событие DragOver в состоянии nState = 1 (Leave).

Комментарии:
Объект, над которым располагается значок перетаскивания, представляет собой объект назначения и реагирует на событие DragOver. С помощью этого события можно отслеживать, когда указатель мыши входит в объект, выходит из него или находится непосредственно над объектом назначения.
Используя событие DragOver, можно определять, что будет происходить после того, как перетаскивание инициировано, и до того, как элемент управления будет оставлен на месте назначения. Например, можно проверять принадлежность допустимой области назначения, высвечивая ее с помощью свойства BackColor или ForeColor либо отображая курсор специального вида.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 08.01.2003