MouseDown, MouseUp

События происходят при нажатии (MouseDown) или отпускании (MouseUp) пользователем кнопки мыши.

Синтаксис

Sub Form_MouseDown(button As Integer, shift As Integer, x As Single, y As Single)
Sub Label1_MouseDown(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Command1_MouseDown(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Pic1_MouseDown(button As Integer, shift As Integer, x As Single, y As Single)
Sub Text1_MouseDown(
button As Integer, shift As Integer, x As Single, y As Single)
Sub MText1_MouseDown(
button As Integer, shift As Integer, x As Single, y As Single)
Sub TextBox1_MouseDown(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Check1_MouseDown(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Opt1_MouseDown(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Img1_MouseDown(button As Integer, shift As Integer, x As Single, y As Single)
Sub Frame1_MouseDown(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Skin1_MouseDown(
button As Integer, shift As Integer, x As Single, y As Single)
Sub PBar1_MouseDown(
button As Integer, shift As Integer, x As Single, y As Single)

Sub Form_MouseUp(button As Integer, shift As Integer, x As Single, y As Single)
Sub Label1_MouseUp(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Command1_MouseUp(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Pic1_MouseUp(button As Integer, shift As Integer, x As Single, y As Single)
Sub Text1_MouseUp(
button As Integer, shift As Integer, x As Single, y As Single)
Sub MText1_MouseUp(
button As Integer, shift As Integer, x As Single, y As Single)
Sub TextBox1_MouseUp(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Check1_MouseUp(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Opt1_MouseUp(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Img1_MouseUp(button As Integer, shift As Integer, x As Single, y As Single)
Sub Frame1_MouseUp(
button As Integer, shift As Integer, x As Single, y As Single)
Sub Skin1_MouseUp(
button As Integer, shift As Integer, x As Single, y As Single)
Sub PBar1_MouseUp(
button As Integer, shift As Integer, x As Single, y As Single)

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

Часть

Описание

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

Примечания

Процедуры событий MouseDown и MouseUp используются для определений действий, которые должны быть выполнены при нажатии или отпускании клавиши мыши. В отличие от событий Click и DblClick, события MouseDown и MouseUp позволяют различать нажатия левой, правой и средней кнопок мыши. Можно писать программы с сочетаниями клавиатуры и мыши, использующими модификаторы клавиатуры SHIFT, CTRL и ALT.
Как для события Click, так и для события DblClick справедливо:

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

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

Значение

Описание

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


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

Значение

Описание

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

Эти константы используются как битовые маски, которые можно использовать для проверки любого сочетания кнопок, не выясняя числовое значение для каждого сочетания.

Замечание Процедуру события MouseMove можно использовать для формирования реакции на событие, вызванное перемещением мыши. Аргумент button для событий MouseDown и MouseUp отличается от используемого для события MouseMove аргумента button. Для событий MouseDown и MouseUp аргумент button указывает только на одну кнопку в каждом событии, в то время как для события MouseMove он указывает текущее состояние всех кнопок.


Назад