Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MS_VB_dop_vozm_5_04.doc
Скачиваний:
5
Добавлен:
19.11.2019
Размер:
1.64 Mб
Скачать
      1. Обработка событий клавиатуры

В Visual Basic обрабатываются три вида событий клавиатуры (таблица 1.6)

Таблица 1.6

Обработка событий клавиатуры

Событие

Описание

KeyPress

Генерируется, когда нажимается, а затем отпускается одна из клавиш, имеющих код в таблице ASCII

KeyDown

Генерируется при нажатии любой клавиши

KeyUp

Генерируется при отпускании клавиши

Обработка события KeyPress. Если в процессе выполнения программы пользователь нажимает клавишу клавиатуры, то Windows вызывает событие KeyPress сначала для формы, имеющей фокус, а затем для элемента управления, имеющего фокус.

Синтаксис процедуры обработки события имеет синтаксис:

Private Sub Имя_элемента_управления_KeyPress(KeyAscii

As Integer)

Код обработки события

End Sub

где Имя_элемента_управления – имя элемента управления, в области которого

произошло событие;

KeyPress– обрабатываемое событие

KeyAscii – код из таблицы ASCII, соответствующий нажатой клавише.

Пример 1.7. Пусть при вводе символа в текстовое окно в окне сообщений выводится значение его кода и введенный символ.

При решении данной задачи необходимо выполнить следующее:

1. В форме разместить текстовое окно с именем Text1.

2. В процедуру обработки события KeyPress элемента управления Text1 ввести следующий программный код:

Private Sub Text1_KeyPress(KeyAscii As Integer)

объявление переменных

Dim ChrPressed As String ‘ для хранеия введенного символа

Dim AscNum As String для хранения кода ASCII

Dim Msg As String ‘ для хранения строки сообщения

ChrPressed = Chr (KeyAscii) ‘преобразование значения

параметра в символ

AscNum = CStr (KeyAscii) ‘преобразование числа в строку

символов

формирование сообщения

Msg = Msg + “ASCII код ” +AscNum

Msg = Msg + “,” + “ символ ” + ChrPressed

MsgBox Msg

End Sub

3. Запустить программу на выполнение. При нажатии клавиши в окне сообщения будет выдаваться информация о введенном символе и его коде.

Обработка событий KeyUp и KeyDown. Когда на клавиатуре нажимается любая клавиша, то для элемента управления, находящегося в фокусе, генерируется событие KeyDown, при отпускании клавиши – событие KeyUp.

Синтаксис этих событий имеет вид:

Privat Sub Имя_элемента_управления_KeyUp(KeyCode as

Integer, Shift As Integer)

Код обработки события

End Sub

Privat Sub Имя_элемента_управления_KeyDown(KeyCode as

Integer, Shift As Integer)

Код обработки события

End Sub

где Имя_элемента_управления – имя элемента управления, вызвавшего событие;

KeyUp|KeyDown– обрабатываемое событие;

KeyCode – целое число, передающее значение константы нажимаемой или отпускаемой клавиши. Этот параметр поддерживает код не только обычной клавиши, но и функциональных клавиш, клавиш на числовой клавиатуре, клавиши со стрелками и других.

Shift – целое число, которое сообщает о том, были ли нажаты клавиши [Shift], [Ctrl], [Alt]. Допустимые значения параметра Shift приведены в таблице 1.5, а параметра KeyCode в таблице 1.7.

Таблица 1.7

Константы для некоторых клавиш

Константа

Значение

Клавиша

vbKeyBack

8

Backspase

vbKeyControl

17

Ctrl

vbKeyDelete

46

Delete

vbKeyDown

40

vbKeyEnd

35

End

vbKeyEscape

27

Escape

vbKeyHome

36

Home

vbKeyInsert

45

Insert

vbKeyLeft

37

vbKeyPageDown

34

PageDown

vbKeyPageUp

33

PageUp

vbKeyRight

39

vbKeyShift

16

Shift

vbKeySpase

32

Пробел

vbKeyTab

9

Tab

vbKeyUp

38

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