Событие MouseMove

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

Применение:
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 может иметь место, даже если сама мышь неподвижна.


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