Для создания задачи и заполнения ее информационных полей необходимо открыть диалоговое окно, с помощью которого можно будет указать тип серии, выбрать автора, а также задать название книги и срок ее написания.
Для проектирования диалогового окна нам потребуется создать пользовательскую форму, на которую помещаются нужные элементы управления — раскрывающиеся списки, поля вода, кнопки, а затем написать процедуры обработки событий, связанных с этими элементами управления: что должно происходить при открытии окна, при вводе данных в поле ввода, при нажатии кнопки, при выборе элемента раскрывающегося списка и т. д.
В этом примере мы продемонстрируем создание и использование самых разных элементов управления: не только обычных полей ввода и кнопок, но и более сложных элементов, например раскрывающихся списков.
Начнем с того, что откроем проект VBA и вставим в него новую пользовательскую форму.
Пример 22.1. Создание пользовательской формы
> Сервис > Макрос > Редактор Visual Basic...
{В окне VBE}
> Insert > UserForm
При этом открывается окно разработки пользовательской формы с пустой пока пользовательской формой. Теперь предстоит подобрать нужные размеры будущего диалогового окна и поместить на него нужные элементы управления. Для этого откройте соответствующую панель инструментов.
Пример 22.2. Открытие панели инструментов Too/box (Элементы управления)
> View > Toolbox
Дальнейший процесс проектирования пользовательского диалога состоит в том, что вы просто щелчком мыши выбираете кнопку нужного элемента управления на панели Toolbox, а затем "рисуете" этот элемент в пользовательской форме, используя технику "протаскивания" мыши. Надо установить указатель мыши на то место, где должен располагаться верхний левый угол создаваемого элемента управления, затем нажать левую кнопку мыши, и, удерживая ее нажатой, растянуть рамку до того места, где должен располагаться правый нижний угол, а затем отпустить кнопку мыши.
После того как элемент управления помещен в кадр диалога, вы можете перемещать его, изменять его размеры или даже удалить его.
Щелчок по элементу управления выделяет его, после чего можно воздействовать на выделенный элемент. Если удерживать нажатой клавишу <Ctrl> во время выполнения щелчков по элементам управления, то таким образом можно будет выделить несколько элементов управления одновременно. Если же во время щелчков мышью вы будете удерживать нажатой клавишу <Shift>, то выделятся сразу все элементы управления, расположенные между теми двумя, по которым сделаны щелчки. Наконец, можно просто растянуть рамку выделения над теми элементами управления, которые вы хотите выделить.
Перетаскивание элемента управления (или сразу нескольких выделенных элементов) перемещает его в пределах пользовательской формы. Перетаскивание одного из маркеров выделения позволяет изменить размеры выделенного элемента или сразу нескольких выделенных элементов. Например, если выделить несколько элементов управления, а затем установить указатель мыши над правым маркером выделения и протащить его чуть дальше вправо, можно увеличить размеры всех выделенных элементов разом на одинаковую величину. Наконец, нажатие клавиши <Delete> удаляет все выделенные элементы.
Попробуйте подготовить представленную на рисунке пользовательскую форму для диалогового окна (рис. 22.2). Для этого надо поместить в диалоговое окно два раскрывающихся списка (comboBox), одно поле ввода (TextBox), один рисунок (image), одну кнопку(CommandButton) и наконец десяток текстовых надписей (Label), служащих для пояснения назначения активных элементов управления, на которые может воздействовать пользе-, ватель во время работы программы.
![]() |
![]() |
![]() |