Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

События и событийные процедуры объекта UserForm




Событие (event) – это что-то, что может произойти с диалоговым окном или элементом управления диалогового окна. Такие объекты, как формы и элементы управления приводят в действие, т.е. делают доступными, некоторые события. Вы можете написать собственные VBA-процедуры, реагирующие на события. Такие процедуры называются событийными процедурами (event procedures) или процедурами обработки событий. Событийные процедуры следует записывать в модуль класса, который является частью UserForm. При этом такие процедуры должны иметь имена в виде:

ObjectName_EventName

где ObjectName – имя формы или элемента управления, а EventName – имя события, которое обрабатывается данной процедурой. Такой формат имени позволяет VBA сопоставлять заданному событию требуемую процедуру. Например, заголовок

Private Sub UserForm_Click()

описывает закрытую процедуру, которая является событийной для объекта UserForm (формы пользователя) и вызывается при щелчке мышью на форме.

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

Таблица 4.2.3. Основные события объекта UserForm

Событие Описание
Activate Происходит, когда окно формы становится активным. Используйте это событие для обновления содержимого диалоговых элементов управления, чтобы отразить любые изменения, которые произошли, пока окно формы было неактивным
Click Происходит при щелчке мышью по форме (любой ее части, не занятой элементами управления)
DblClick Происходит при двойном щелчке мышью по форме (любой ее части, не занятой элементами управления)
Deactivate Происходит, когда форма перестает быть активной
Initialize Происходит, когда форма впервые загружается в память посредством выполнения оператора Load или с помощью метода Show. Используйте это событие для инициализации элементов управления формы при ее появлении на экране
Resize Происходит при изменении размеров формы
Terminate Происходит при закрытии формы, т.е. когда форма выгружается из памяти. Используйте это событие для осуществления специальных задач, которые необходимо выполнить прежде, чем переменные формы будут выгружены

В дополнение к методам, свойствам и событиям, встроенным в объект UserForm, VBA предоставляет два оператора, которые особенно полезны при работе с объектами форм: Load и Unload.

Синтаксис операторов Load и Unload:

Load ObjectUnload Object

Здесь Object представляет любую допустимую ссылку на объект UserForm.

Оператор Load загружает в память объект UserForm и запускает метод формы Initialize, но не выводит форму на экран. Когда форма загружена, можно использовать написанную на VBA программу для работы с объектом UserForm.

Оператор Unload удаляет из памяти объект UserForm, а также все переменные формы. После того, как форма выгружена, она перестает быть доступной для VBA-кода.

 




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 544; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.