Главные события

We use cookies. Read the Privacy and Cookie Policy

Главные события

Когда выполняется процедура типа Sub, не отображающая форм, ваш программный код полностью контролирует, что и когда делает программа. Но если на экране отображается форма, программа переходит в каком-то смысле в пассивное состояние, ожидая инструкций от пользователя.

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

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

Формы VBA и элементы управления в них могут распознавать самые различные события. (На жаргоне VBA, когда говорится, что объект "имеет" события, подразумевается, что объект может регистрировать и распознавать эти события.) У форм и элементов управления есть одинаковые события, но набор событий каждого объекта индивидуален. Часто встречающиеся события приведены в табл. 10.1.

Таблица 10.1. Избранные события форм и элементов управления

Событие

Объекты, которые распознают событие

Когда происходит событие

Activate

Формы

Каждый раз, когда форма активизируется (получает фокус ввода)

AddControl

Формы, фреймы и формы с множеством страниц

При добавлении в объект элемента управления во время выполнения формы

AfterUpdate

Все "действующие" элементы управления, кроме кнопок

После установки нового значения для элемента управления, в момент перехода от данного элемента управления к другому

Change

Все "действующие" элементы управления, кроме кнопок

При изменении значения свойства Value элемента управления

Click

Формы и все типы элементов управления

После щелчка кнопкой мыши на объекте

DblClick

Формы и все типы элементов управления

После двойного щелчка кнопкой мыши на объекте

DropButtonClick

Текстовые поля и поля со списком

При появлении раскрывающегося списка (после щелчка на кнопке раскрытия или нажатия клавиши <F4>)

Enter

Все типы элементов управления

Непосредственно перед тем, как элемент управления получит фокус ввода от другого элемента управления в той же форме

Error

Формы и все типы элементов управления

Когда возникает ошибка, но информация о ней не может возвратиться программе

Exit

Все типы элементов управления

Непосредственно перед тем, как фокус ввода перейдет от данного элемента управления к другому в той же форме

KeyUp, KeyDown, Keypress

Формы и все типы элементов управления

При нажатии или отпускании кнопки

Layout

Формы, фреймы и формы с множеством страниц

При изменении размеров объекта

RemoveControl

Формы, фреймы и формы с множеством страниц

При удалении элемента управления из объекта во время выполнения формы

Scroll

Формы, фреймы и формы с множеством страниц, а также текстовые поля, списки и поля со СПИСКОМ

При изменении положения бегунка полосы прокрутки

Zoom

Формы, фреймы и формы с множеством страниц

При изменении масштаба объекта (значения свойства Zoom)