Событие MouseDown

Если нажать кнопку мыши и не отпускать ее, генерируется событие MouseDown. Процедура события MouseDown() имеет следующий синтаксис:

Private Sub target_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single).

Как и в других событиях мыши, параметры X и Y определяют положение указателя. Целый параметр Button принимает одно из трех значений.

Параметр Button Описание
Левая кнопка мыши
Правая кнопка мыши
Средняя кнопка мыши

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

Private Sub lstMembers_MouseDown(Button As Integer, Shift As Integer Событие MouseDown,

X As Single, Y As Single)

If Button = 2 Then

PopupMenu mnuMembers

End If

End Sub

Целочисленный параметр Shift описывает состояние клавиш Shift, Ctrl и Alt на момент нажатия кнопки. Он принимает следующие значения.

Параметр Shift Описание
Клавиша Shift
Клавиша Ctrl
Клавиша Alt

Сумма этих величин определяет различные сочетания клавиш. Например, значение 6 означает, что были нажаты Ctrl и Alt, a значение 7 показывает, что все три управляющие клавиши были нажаты одновременно. При проверке параметра Shift часто используется ключевое слово And. C помощью вложенных конструкций If...Then можно отслеживать разные клавиши. Например, фрагмент:

If Shift = 6 Then

MsgBox "Нажаты клавиши Ctrl и Alt"

End If

эквивалентен следующему:

If Событие MouseDown Shift And 6 Then

MsgBox "Нажаты клавиши Ctrl и Alt"

End If

Событие MouseMove

Событие MouseMove генерируется при перемещении мыши над элементом. В его процедуре можно изменить состояние элемента, находящегося под указателем мыши, например перекрасить в зеленый цвет незаблокированную кнопку при прохождении указателя мыши. Процедура события имеет следующий синтаксис:

Private Sub cmdExit_MouseMove(Button As Integer, Shift As Integer, _

X As Single, Y As Single)

Параметры этого события идентичны параметрам события MouseDown. В следующем примере заголовок формы изменяется, когда указатель мыши проходит над кнопкой Exit:

Private Sub cmdExit_MouseMove(Button As Integer, Shift As Integer, _

X As Single, Y As Single)

Me.Caption = "Нажмите, чтобы Событие MouseDown закрыть приложение"

End Sub

Аналогичный код можно включить и в процедуры событий MouseMove других элементов. До появления механизма подсказок я часто пользовался этим событием для вывода в строке состояния справочных сообщений.


documentalsyoaj.html
documentalsyvkr.html
documentalszcuz.html
documentalszkfh.html
documentalszrpp.html
Документ Событие MouseDown