Access 2002

События соответствующего элемента управления


При выборе mtxt в списке объектов, находящемся в окне редактора VBA, в списке событий окажутся все события соответствующего элемента управления. Все происходит в точности так, как если бы вы поместили элемент управления в форму. Только тогда Access автоматически объявляет для вас переменную с ключевым словом WithEvents. Она создает эту переменную на уровне модуля и присваивает ей имя вашего элемента управления. Таким образом, код писать не приходится — все происходит автоматически. Но если вы хотите обрабатывать события элемента управления вне модуля его формы или отчета, нужно самостоятельно связать его переменную с событиями этого элемента с помощью ключевого слова WithEvents.

Если переменная связана с конкретным элементом управления и его событиями, модуль класса (в нашем случае — класса Incremental Search) может эти события обрабатывать. Вы найдете в модуле класса Incremental Search процедуры для обработки событий Change и LostFocus. (В процессе обработки события Change класс находит и выделяет в списке введенный пользователем текст. В обработчике события LostFocus он копирует выделенный элемент списка в текстовое поле.)

Ключевое слово WithEvents может использоваться в объявлении любого объекта, генерирующего события. События есть практически у всех элементов управления, и класс, подобный Incremental Search, позволяет извлечь код, связанный с функционированием элемента управления, из модуля его формы или отчета и хранить его в отдельном модуле. Такая инкапсуляция кода в одном модуле класса облегчает как его распространение, так и совместное использование несколькими приложениями.

Комментарии закрыты