Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
512244_74984_sidorov_m_e_algoritmizaciya_i_prog....doc
Скачиваний:
14
Добавлен:
01.05.2019
Размер:
5.08 Mб
Скачать

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

Каждая клавиша на клавиатуре имеет свой код сканирования (не путать с кодом символа, хотя некоторые значения совпадают), которому Visual Basic ставит в соответствие свои константы.

Коды клавиш

Констатнта

Код

Клавиша

Констатнта

Код

Клавиша

VbKeyBack

8

BackSpace

vbKeyFl - vbKeyF12

112 - 123

F1 - F12

vbKeyTab

9

Tab

vbKeyPageUp

33

PageUp

VbKeyReturn

13

Enter

VbKeyPageDown

34

PageDown

VbKeyShift

16

Shift

VbKeyEnd

35

End

VbKeyControl

17

Ctrl

VbKeyHome

36

Home

VbKeyEscape

27

Esc

VbKeyLeft

37

влево

VbKeySpace

32

Пробел

VbKeyUp

38

вверх

vbKeyDelete

46

Delete

VbKeyRight

39

вправо

vbKeyA - VbKeyZ

65 - 90

А - Z

VbKeyDown

40

вниз

Объекты, допускающие ввод с клавиатуры имеют события KeyPress, KeyDown и KeyUp. При помощи логического свойства KeyPreview можно управлять порядком, в котором Windows обрабатывает эти события: по умолчанию сначала события клавиатуры формы, а потом элементов управления (значение свойства формы KeyPreview = True), или наоборот, KeyPreview=False.

Событие ввод символа KeyPress возникает после ввода символов. Процедура события KeyPress имеет параметр KeyAscii - код символа: буквы, цифры, знаки на стандартной клавиатуре, а также клавиш Enter, Esc, Tab, BackSpace и Space.

Событие нажатие клавиши KeyDown возникает сразу после опускания клавиши. Событие отпускания клавиши KeyUp возникает сразу после подъема клавиши.

Процедуры событий KeyDown и KeyUp имеют параметры:

  • Keycode – код клавиши (одно и то же значение для верхнего и нижнего регистра).

  • Shift – числовой параметр, соответствующий нажатой клавише:

1 - VbShiftMask - клавиша Shift,

2 - VbCtrlMask клавиша Ctrl,

4 - VbAltMask - клавиша Alt.

Пример.

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

Print " - код клавиши: " & Str(KeyCode)

Print "------------------------------------------"

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 13

Print "Enter - код символа: " & Str(KeyAscii)

Case 27

Print "Esc - код символа: " & Str(KeyAscii)

Case 32

Print "Space - код символа: " & Str(KeyAscii)

Case Else

Print Chr(KeyAscii) & " - код символа: " & Str(KeyAscii)

End Select

End Sub

Результат выполнения обработчиков событий Form_KeyUp и Form_KeyPress

Рис. 22. Коды символов и клавиш

Единицы измерения размеров

Основной единицей измерения размеров является твип (twip).

В 1 дюйме 1440 твипов, а в 1 см - 567 твипов.

В Visual Basic в качестве единиц измерения используются также пункты (в одном дюйме 72 пункта) и пиксели (наименьшая единица измерения разрешения монитора или принтера). Единица измерения размеров устанавливаются в свойстве ScaleMode.

  • VbUser или 0 – определенная пользователем единица измерения;

  • VbTwips или 1 - твипы; используется по умолчанию;

  • VbPoints или 2 - пункты;

  • VbPixels или 3 - пиксели;

  • VbCharacters или 4 - символы;

  • VbInches или 5 - дюймы;

  • VbMillimeters или 6 - миллиметры;

  • VbCentimeters или 7 - сантиметры.

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