MouseOver

Событие происходит при перемещении мыши через границу объекта, при дальнейшем движении по его области.

Синтаксис

Sub Command1_MouseOver(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Pic1_MouseOver(button As Integer, shift As Integer, x As Single, y As Single)
Sub Frame1_MouseOver(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Skin1_MouseOver(
)
Sub Skin_MouseOver(1
)

Части синтаксической последовательности для события MouseOver приведены в таблице:

Часть

Описание

1
Целое число, однозначно определяющее элемент управления, если он находится в массиве элементов управления
button
Целое число, соответствующее состоянию кнопок мыши, в котором бит установлен, если кнопка нажата. Аргумент button является битовым полем, с битами, соответствующими левой кнопке (бит 0), правой кнопке (бит 1) и средней кнопке (бит 2). Эти биты соответствуют значениям 1, 2 и 4. Аргумент указывает полное состояние кнопок мыши. Могут быть установлены несколько, все или никакие биты, что означает нажатие нескольких, всех или никаких кнопок.
shift
Возвращает целое число, соответствующее состоянию клавиш SHIFT, CTRL и ALT. Бит установлен, если клавиша нажата. Аргумент shift является битовым полем с младшими битами, соответствующими клавише SHIFT (бит 0), клавише CTRL (бит 1) и клавише ALT (бит 2). Эти биты соответствуют значениям 1, 2 и 4. Аргумент shift указывает состояние этих клавиш. Установка этих битов указывает на то, что соответствующие клавиши нажаты. Например, если нажаты клавиши CTRL и ALT, значение shift равно 6.
x, y Возвращают числа, содержащие текущие координаты курсора мыши. Значения x и y всегда выражаются в единицах системы координат, установленной свойствами объекта ScaleHeight, ScaleWidth, ScaleLeft и ScaleTop.

Примечания

Эти события происходят если следующие переменные были равны False (По умолчанию установлены в False).

Form.NoOverOutPic = False
Form.NoOverOutFrame = False
Form.NoOverOutCommand
= False

Для определения установленных в аргументах button или shift битов можно использовать константы, перечисленные в библиотеке объектов Visual Basic (VB) в Object Browser:

Константа (кнопка)

Значение

Описание

vbLeftButton
1 Нажата левая кнопка
vbRightButton
2 Нажата правая кнопка
vbMiddleButton
4 Нажата средняя кнопка


Константа (клавиша)

Значение

Описание

vbShiftMask
1 Битовая маска клавиши SHIFT.
vbCtrlMask
2 Битовая маска клавиши CTRL.
vbAltMask
4 Битовая маска клавиши ALT.

Эти константы используются как битовые маски, которые можно использовать для проверки любого сочетания кнопок, не выясняя числовое значение для каждого сочетания.
Условие проверяется после присвоения каждого результата временной целой переменной. Затем значения аргументов button и shift сравниваются с битовой маской. Используйте оператор And с обоими аргументами, и, если результат больше нуля, значит кнопка или клавиша нажаты:

LeftDown = (Button And vbLeftButton) > 0
CtrlDown = (Shift And vbCtrlMask) > 0

Далее можно проверять любое сочетание условий, например:

If LeftDown And CtrlDown Then


Назад