При работе любого приложения возникают различные события от мыши и клавиатуры, для которых в программе можно предусмотреть процедуры обработки. События клавиатуры возникают в том случае, когда пользователь нажимает какую-либо клавишу, а события мыши инициируются, если нажать/отпустить одну из ее кнопок, переместить указатель и т.д.
Обработка событий мыши
Обработка воздействий мыши состоит из следующих основных разделов:
1. События и состояние кнопок мыши.
2. Перетаскивание мышью различных элементов.
Следует отметить, что существует два часто обрабатываемых события мыпш, возникающие при использовании левой кнопки:
Сliск - происходит при щелчке на элементе;
DblClick - происходит в случае двойного щелчка.
Для некоторых элементов управления, таких как Label или Image, приведенные события инициируютея при нажатии как левой, так и правой кнопок.В том случае, когда при работе приложения нажимается или отпускается одна из кнопок мыши, а также если ее указатель перемещается, то возникают следующие события:
MouseDown - нажата любая кнопка;
Mouseup - отпущена любая нажатая кнопка;
MouseMove - указатель мыши переместился
Перечисленные события могут распознаваться элементом управления, расположенным на форме, только в том случае, если указатель мыши находится непосредственно на нем.
Обработка событий клавиатуры
Событие KeyPress различает выбор символа принадлежащего любой из приведенных категорий, а также нажатие клавиш Enter, Backspace, Tab.
События, возникающие при работе с клавиатурой.
Название | Описание |
KeyDown | Происходит, когда нажата любая клавиша |
KeyPress | Выполняется при выборе клавиши, соответствующей одному из символов таблицы ASCII |
KeyUp | Происходит при отпускании любой нажатой клавиши |
Если необходимо определить, была ли нажата одна из функциональных клавиш, вспомогательных (Shift, Ctrl,Alt), либо из клавиш управления курсором, то в этом случае необходимо обрабатывать события более низкого уровня: KeyDown и Key Up.При этом необходимо заметить, что эта пара событий и KeyPress не являются заменяемыми, т.е. при нажатии, например, функциональной клавиши, вначале возникают KeyDown и KeyPress (именно в таком порядке), а затем при ее отпускании выполняется KeyUp.
Процедура обработки события KeyPress имеет один параметр: KeyAscii As Integer, который представляет собой код из таблицы символов ASCII, соответствующий нажатой клавише. При обработке кодов можно вместо числовых значений использовать константы Visual Basic, полный перечень которых можно найти в разделе KeyCodeConstants окна Object Browser.
При возникновении событий KeyDown и KeyUp, в соответствующие процедуры передаются следующие параметры:
KeyCode As Integer - аналог KeyAscii, описанного выше, однако в данном случае наличие верхнего или нижнего регистра передается через параметр Shift;
Shift As Integer - идентифицирует нажатие вспомогательных клавиш (Shift, Ctrl или Alt)