Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Работа с клавиатурой и мышью



Большинство программ созданных для работы в среде MS Windows имеют GUI интерфейс (графический интерфейс пользователя). Для работы с такой программой используются определенные клавиатурные комбинации и действия, выполненные с помощью «мыши». Для работы с клавиатурой и «мышью» разработчик программы на Visual Basic может использовать следующие события:

1. Событие KeyPress. Возникает при нажатии клавиши, когда определенный визуальный компонент интерфейса находится в фокусе.

Private Sub idElement_KeyPress(KeyAscii As Integer)

‘Операторы

End Sub

Где KeyAscii – код нажатой клавиши.

2. События KeyUp, KeyDown. Порождаются когда пользователь отпускает клавишу, либо нажимает. Для отслеживания этих событий свойство формы KeyPreview формы должно получить значение TRUE. В общем виде события нажатия клавиш имеют структуру:

Private Sub Form_[KeyDown|KeyUp](KeyCode As Integer, Shift As Integer)

‘Код события

End Sub

KeyCode – код клавиши.

Shift – код регистровой клавиши.

В Visual Basic каждой клавише соответствует определенная константа. Например vbKeyA – клавиша A, vbKeyF – клавиша F. Регистр клавиши не учитывается.

Для учета регистровых клавиш используется параметр Shift. Который может принимать одно из следующих значений:

Константа Код
vbShiftMask  
VbCtrlMask  
VbAltMask  

Отслеживание событий «мыши» выполняется с помощью событий:

MouseMove – порождается при перемещении курсора мыши, MouseDown –появляется при нажатии кнопки «мыши», MouseUp – порождается при отпускании кнопки мыши.

Формат события:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer,

X As Single, Y As Single)

‘Код события

End Sub

Button – код клавиши «мыши».

Shift – код регистровой клавиши.

X,Y – координаты курсора мыши.

Коды клавиш «мыши»:

Константа Код
vbLeftButton  
vbRightButton  
vbMiddleButton  

Пример №1. Нажатие клавиши на командной кнопке.

Private Sub Command1_KeyPress(KeyAscii As Integer)

If KeyAscii = Asc("a") Then MsgBox (" Key - a ")

If KeyAscii = 27 Then MsgBox (" Key - ESC! ")

End Sub

Пример №2. Проверка набора пользователем ключевого слова EGG при работе с формой. Если ключевое слово набрано, то выводится окно с текстом сообщения.

Dim buffer As String * 3

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

‘Буква Е

If KeyCode = vbKeyE And Shift = vbShiftMask Then

buffer = Mid(buffer, 2) + "E"

End If

‘Буква G

If KeyCode = vbKeyG And Shift = vbShiftMask Then

buffer = Mid(buffer, 2) + "G"

End If

‘Контрольное слово

If buffer = "EGG" Then

MsgBox "OK!", vbInformation, ""

buffer = ""

End If

End Sub

Пример №3. Отслеживание движения курсора «мыши». При нажатой левой кнопке координаты выводятся в заголовке формы.

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

Dim mesXY As String

If Button = vbLeftButton Then ‘левая кнопка

mesXY = "X=" + Str(X) + " Y=" + Str(Y)

End If

Form1.Caption = mesXY ‘вывод координат

End Sub





Дата публикования: 2014-11-18; Прочитано: 278 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...