Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб13_VisualBasic.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
238.08 Кб
Скачать

Приднестровский государственный университет им. Т.Г. Шевченко

Л А Б О Р А Т О Р Н А Я Р А Б О Т А № 13

Тема: «Обработка событий мыши и клавиатуры»

Цель работы:

изучение событий мыши и клавиатуры;

закрепление темы при создании приложений.

1. Обработка событий мыши

До сих пор нам приходилось иметь дело с двумя событиями, связанными с мышью, Click и DblClick (двойной щелчок). В этой лабораторной работе будет рассказано о других событиях мыши, используемых в Visual Basic. К их числу относятся перемещение мыши и нажатия кнопок – самостоятельно или одновременно с клавишами Shift, Alt и Ctrl. Эти события обрабатываются в процедурах MouseDown и MouseUp, а также MouseMove. В последнем событии удобно отображать и скрывать подсказки, когда указатель мыши переходит над кнопками панели инструментов для отображения в форме графики и иллюстраций используются элементы управления:

1.1. Событие Click

Private Sub объект_Click()

Возникает при щелчке левой или правой кнопки мыши, при нахождении курсора мыши над объектом. Объекты CheckBox, CommandButton, Listbox или OptionButton реагируют только на щелчок левой кнопки. Кроме того, если у нас существует массив объектов Control Array, то введя переменную индекс в объявление процедуры, можно определить, по какому элементу массива щелкнула мышь. В этом случае объявлять процедуру надо так:

Private Sub объект_Click (индекс As Integer)

Индекс и возвратит номер элемента массива. Вот пример кода, когда на форме имеется массив Control Array из трех текстовых полей Text1(0), Text1(1) и Text1(2) и текстовое поле Text2. При щелчке мышью по одному из элементов Text1 в текстовом поле Text2 будет выводиться индекс элемента Control Array.

Private Sub Text1_Click(Nomer As Integer)

Text2.Text = "Щелкнуто по номеру" & " " & Nomer

End Sub

При возникновении этого события порождаются события MouseUp и MouseDown.

Чтобы различать нажатия клавиш, надо использовать события MouseUp и MouseDown

1.2. Событие DblClick

Private Sub объект_DblClick()

Private Sub объект_DblClick (индекс As Integer)

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

Аналогичен событию Click.

1.3. События MouseDown и MouseUp

Private Sub объект_MouseDown ([индекс As Integer,] Button As Integer, Shift As Integer, x As Single, y As Single)

и

Private Sub объект_MouseUp ([индекс As Integer,] Button As Integer, Shift As Integer, x As Single, y As Single)

Возникает при нажатии (MouseDown) или отпускании (MouseUp) кнопки мыши, при нахождении курсора мыши над объектом.

При этом по значению необязательной переменной индекс можно отследить, над каким элементом массива объектов Control Array (если массив существует) нажата клавиша.

Также позволяет отследить, какая кнопка мыши нажата (не показывает состояние всех кнопок одновременно, как событие MouseMove), по состоянию переменной Button (1 – левая кнопка, 2 – правая кнопка, 4 – средняя кнопка).

Переменная Shift возвращает состояние клавиш Shift, Alt и Ctrl в момент нажатия кнопок мыши (1 – Shift, 2 – Alt и 4 – Ctrl). При удержании больше одной клавиши их значения складываются (Ctrl-Alt = 4+2=6).

Значения переменных x и y возвращают текущие координаты курсора мыши (x – по горизонтали, y – по вертикали) в единицах измерения, заданных свойствами ScaleHeight, ScaleWidth.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]