О стоимости курса |
Подробности об элементах управления
4.1. Панель инструментов
Выше мы говорили лишь о кнопке и надписи. Но VBA позволяет работать с огромнейшим количеством элементов управления.
На панели инструментов Toolbox в редакторе VBA отображается лишь их малая часть. Для того чтобы просмотреть установленные в системе элементы и вывести кнопки для их вызова на панель инструментов, щелкните правой кнопкой мыши по панели и в появившемся меню выберите пункт Additional Control (Дополнительные элементы управления).
Даже если вы специально не устанавливали пакеты элементов – вы увидите большой список (рис. 4.1.). Мы нашли в этом окне Календарь 12.0. Выделим его (для этого надо включить флажок напротив названия) и нажмем OK — на панели инструментов VBA появится новый элемент управления.
Теперь рассмотрим наиболее часто используемые элементы управления и особенности их применения.
4.2. Form
04-01-Формы.docm — пример к п. 4.2.
Вы уже знакомы с формами. Они содержат в себе другие элементы управления.
Среди событий форм можно отметить следующие.
Initialize (Инициализация) — возникает перед появлением формы. На этом этапе форма готовится к открытию и в обработчик этого события обычно включают операции для настройки элементов управления, открытия внешних файлов.
Error (Ошибка) — возникает при появлении ошибки в форме.
Terminate (Завершение) — возникает при обычном завершении работы формы. В обработчик этого события можно добавить команды записи протоколов работы приложений, удаления временных файлов, в которых нуждалось приложение.
Если в вашем проекте имеется несколько форм, вам понадобится работать с ними, показывая и скрывая их при необходимости. Чтобы отобразить форму, воспользуйтесь методом Show (Показать). Для скрытия формы используйте метод Hide (Скрыть).
Выполним небольшое упражнение. Создадим несколько форм и настроим навигацию между ними. Одна из форм будет служить главной — из нее вызываются остальные формы.
Создайте новый документ Microsoft Word, откройте редактор кода и добавьте в проект три формы. Настройте их свойства следующим образом (табл. 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.) выглядит окно проекта.
Создадим обработчик события Initialize для формы 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
Поэкспериментируйте с этой программой, попробуйте назначить формам другие обработчики событий, выводящие сообщения и посмотрите, что из этого выйдет. Подобная схема работы с формами используется в реальных проектах — тогда, когда нужно организовать взаимодействие пользователя с несколькими формами.