Опубликован: 25.03.2009 | Уровень: для всех | Доступ: свободно | ВУЗ: Институт управления, бизнеса и права
Лекция 4:

Подробности об элементах управления

Аннотация: Работа с элементами управления необходима при конструировании пользовательского интерфейса приложений. Эта лекция посвящена подробному разбору особенностей стандартных элементов управления VBA.

4.1. Панель инструментов

Выше мы говорили лишь о кнопке и надписи. Но VBA позволяет работать с огромнейшим количеством элементов управления.

На панели инструментов Toolbox в редакторе VBA отображается лишь их малая часть. Для того чтобы просмотреть установленные в системе элементы и вывести кнопки для их вызова на панель инструментов, щелкните правой кнопкой мыши по панели и в появившемся меню выберите пункт Additional Control (Дополнительные элементы управления).

Даже если вы специально не устанавливали пакеты элементов – вы увидите большой список (рис. 4.1.). Мы нашли в этом окне Календарь 12.0. Выделим его (для этого надо включить флажок напротив названия) и нажмем OK — на панели инструментов VBA появится новый элемент управления.

Просмотр дополнительных элементов управления

Рис. 4.1. Просмотр дополнительных элементов управления

Теперь рассмотрим наиболее часто используемые элементы управления и особенности их применения.

4.2. Form

04-01-Формы.docm — пример к п. 4.2.

Вы уже знакомы с формами. Они содержат в себе другие элементы управления.

Среди событий форм можно отметить следующие.

Initialize (Инициализация) — возникает перед появлением формы. На этом этапе форма готовится к открытию и в обработчик этого события обычно включают операции для настройки элементов управления, открытия внешних файлов.

Error (Ошибка) — возникает при появлении ошибки в форме.

Terminate (Завершение) — возникает при обычном завершении работы формы. В обработчик этого события можно добавить команды записи протоколов работы приложений, удаления временных файлов, в которых нуждалось приложение.

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

Если в вашем проекте имеется несколько форм, вам понадобится работать с ними, показывая и скрывая их при необходимости. Чтобы отобразить форму, воспользуйтесь методом Show (Показать). Для скрытия формы используйте метод Hide (Скрыть).

Выполним небольшое упражнение. Создадим несколько форм и настроим навигацию между ними. Одна из форм будет служить главной — из нее вызываются остальные формы.

Создайте новый документ Microsoft Word, откройте редактор кода и добавьте в проект три формы. Настройте их свойства следующим образом (табл. 4.1.).

Таблица 4.1. Свойства форм
Свойство Форма №1 Форма №2 Форма №3
Name frm_Main frm_First frm_Second
Caption Главная форма Первая форма Вторая форма

Добавьте на форму frm_Main две кнопки. Одну из них назовите cmd_Call_F1 и подпишите ее "Вызвать первую форму", вторую – cmd_Call_F2 с подписью "Вызвать вторую форму". Эти кнопки должны скрывать форму frm_Main, и, соответственно, вызывать frm_First и frm_Second.

На форму frm_First добавьте кнопку cmd_First с надписью "На главную". Нажатие на эту кнопку должно скрывать frm_First и отображать frm_Main. Аналогичную кнопку (только с именем cmd_Second ) добавьте на frm_Second.

Вот как (рис. 4.2.) выглядит окно проекта.

Формы в окне проекта

увеличить изображение
Рис. 4.2. Формы в окне проекта

Создадим обработчик события Initialize для формы frm_Main. Добавим в него команду вывода окна сообщения с надписью "Добро пожаловать в программу.

На рис. 4.3. вы можете видеть окно кода формы frm_Main после создания необходимых обработчиков событий.

Обработчики событий в форме frm_Main

Рис. 4.3. Обработчики событий в форме frm_Main

Обработчик события Click для кнопки cmd_First формы frm_First выглядит так (листинг 4.1, комментарии опущены).

frm_First.Hide
frm_Main.Show
Листинг 4.1. Обработчик Click для cmd_First

Обработчик события Click кнопки cmd_Second формы frm_Second выглядит аналогично — главное отличие — он скрывает frm_Second

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

Евгений Ушаков
Евгений Ушаков

Добрый день! Поясните, пожалуйста, 3000 р. стоит документ об окончании курса. Если он не нужен, то можно учиться бесплатно?

Александр Новиков
Александр Новиков

Добрый день! Очень нужен справочник по объектам VBA c описание их методов и свойств.

Кто-нибудь знает, где можно приобрести?

(Он конечно есть в VBA - Object browser, но не очень удобный)