Читайте также:
|
|
Если нажать кнопку мыши и не отпускать ее, генерируется событие 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,
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 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 = "Нажмите, чтобы закрыть приложение"
End Sub
Аналогичный код можно включить и в процедуры событий MouseMove других элементов. До появления механизма подсказок я часто пользовался этим событием для вывода в строке состояния справочных сообщений.
Дата добавления: 2015-07-20; просмотров: 97 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Использование класса диалоговых окон | | | Перетаскивание |