Имеет место, когда пользователь перемещает указатель мыши по объекту.
Применение:
CheckBox, Column, ComboBox, CommandButton, CommandGroup, Объект Container, Объект Control, EditBox, Form, Grid, Header, Image, Label, Line, ListBox, OptionButton, OptionGroup, Page, PageFrame, Shape, Spinner, TextBox, ToolBar.
Синтаксис:
PROCEDURE Object.MouseMove [LPARAMETERS nIndex, nButton, nShift, nXCoord, nYCoord] - Или - LPARAMETERS nButton, nShift, nXCoord, nYCoord
Параметры:
Вы должны включить в процедуру события оператор LPARAMETERS или PARAMETERS и задать имя для каждого параметра. Visual FoxPro передает событию MouseMove четыре или пять параметров в следующем порядке.
nIndex
Содержит номер, однозначно идентифицирующий элемент управления, если он принадлежит массиву элементов управления. Параметр nIndex передается только в том случае, если элемент управления берется из массива.
nButton
Содержит число в виде суммы битов, определяющее состояние кнопок мыши. Если какая-либо из кнопок нажата, устанавливается связанный с ней бит. Параметр nButton показывает, какие биты установлены - бит 0 (соответствует левой кнопке мыши), бит 1 (правая кнопка мыши) или бит 2 (средняя кнопка мыши), то есть значения 1, 2 и 4 соответственно. Параметр отражает общее состояние кнопок мыши; могут быть установлены некоторые из битов, все биты или ни один из них ѕ это говорит соответственно о том, что нажаты некоторые из кнопок, все три или ни одна. Возможные значения принадлежат диапазону от 0 до 7. Конкретные кнопки мыши соответствуют следующим значениям: 1 (левая), 2 (правая) и 4 (средняя). Например, если нажаты одновременно левая и правая кнопки мыши, значение параметра nButton равно 3.
nShift
Содержит число, которое определяет состояние клавиш SHIFT, CTRL и ALT: 1 (SHIFT), 2 (CTRL), 4 (ALT). Если какая-либо из этих клавиш была нажата, устанавливается соответствующий бит. Аргумент nShift представляет собой сумму этих битов, и в нем наименее значащие биты представляют клавиши SHIFT (бит 0), CTRL (бит 1) и ALT (бит 2). Эти биты соответствуют значениям 1, 2 и 4. Параметр nShift характеризует состояние данных клавиш. Могут быть установлены некоторые из битов, все биты или ни один из них; это говорит о том, что нажаты некоторые из клавиш, все три или ни одна. Например, если были нажаты клавиши CTRL и ALT, значение параметра nShift равно 6.
nXCoord, nYCoord
Содержит текущее значение горизонтальной (nXCoord) и вертикальной (nYCoord) позиции указателя мыши в пределах объекта Form. Эти координаты всегда выражаются относительно заданной системы координат объекта Form с использованием единицы измерения, определенной установкой свойства ScaleMode.
Событие MouseMove возникает постоянно, пока указатель мыши перемещается по объектам.
Замечание. Используя события MouseDown и MouseUp, вы можете реагировать на события, возникающие, когда нажимаются и отпускаются кнопки мыши.
Параметр nButton процедуры события MouseMove отличается от параметра nButton для событий MouseDown и MouseUp. В случае MouseMove параметр nButton отмечает текущее состояние всех кнопок. Одно событие MouseMove может указывать, что нажаты некоторые из кнопок, все три кнопки или ни одна из них. В случае MouseDown или MouseUp параметр nButton указывает состояние ровно одной кнопки для каждого события.
Старайтесь не перемещать окна при работе процедуры события MouseMove это может привести к каскаду событий и вызвать ошибки этапа выполнения, такие как переполнение стека. События MouseMove возникают, когда окно движется под указателем мыши. Таким образом, событие MouseMove может иметь место, даже если сама мышь неподвижна.