Событие | Объекты, которые распознают событие | Когда происходит событие |
Activate | Формы | Каждый раз, когда форма активизируется (получает фокус ввода) |
AddControl | Формы, фреймы и формы с множеством страниц | При добавлении в объект элемента управления во время выполнения формы |
AfterUpdate | Все "действующие" элементы управления, кроме кнопок | После установки нового значения для элемента управления, в момент перехода от данного элемента управления к другому |
Change | Все "действующие" элементы управления, кроме кнопок | При изменении значения свойства Value элемента управления |
Click | Формы и все типы элементов управления | После щелчка кнопкой мыши на объекте |
DblClick | Формы и все типы элементов управления | После двойного щелчка кнопкой мыши на объекте |
DropButtonClick | Текстовые поля и поля со списком | При появлении раскрывающегося списка (после щелчка на кнопке раскрытия или нажатия клавиши |
Enter | Все типы элементов управления | Непосредственно перед тем, как элемент управления получит фокус ввода от другого элемента управления в той же форме |
Error | Формы и все типы элементов управления | Когда возникает ошибка, но информация о ней не может возвратиться программе |
Exit | Все типы элементов управления | Непосредственно перед тем, как фокус ввода перейдет от данного элемента управления к другому в той же форме |
KeyUp, KeyDown, Keypress | Формы и все типы элементов управления | При нажатии или отпускании кнопки |
Layout | Формы, фреймы и формы с множеством страниц | При изменении размеров объекта |
RemoveControl | Формы, фреймы и формы с множеством страниц | При удалении элемента управления из объекта во время выполнения формы |
Scroll | Формы, фреймы и формы с множеством страниц, а также текстовые поля, списки и поля со СПИСКОМ | При изменении положения бегунка полосы прокрутки |
Zoom | Формы, фреймы и формы с множеством страниц | При изменении масштаба объекта (значения свойства Zoom) |
Программирование обработки событий
Как видно из табл. 10.1, формы и элементы управления могут отвечать на многие события. Но когда форма действительно отвечает на какое-нибудь конкретное событие? Только тогда, когда она имеет соответствующую процедуру для этого события. Процедуры обработки событий должны быть кем-то созданы - в данном случае вами.
Создание процедуры обработки события не отличается от создания любой другой процедуры в VBA. Нужно только знать, куда поместить соответствующие операторы. Программный код для процедуры обработки события, как и весь остальной связанный с формой программный кол, в редакторе Visual Basic размешается в окне программного кода этой формы.
Следовательно, процедуры обработки событий для всех элементов управления в форме, как и для самой формы, создаются в окне программного кода формы. Поэтому, перед тем как программировать соответствующие событиям процедуры, выполните следующие шаги.
1. Откройте окно программного кода формы.