Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс_лекций_Прикладное_Прогр_П+И_2012.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.33 Mб
Скачать

Тема: Создание пользовательских диалоговых окон.

Цель работы: изучение основных приемов работы с пользовательскими диалоговыми окнами.

Теоретическая часть.

Обычно приложения используют диалоговые окна, когда от пользователя требуется получить какую-либо информацию. Диалоговое окно создается на основе пользовательской формы. Чтобы добавить ее, в редакторе Visual Basic выбираем команду InsertUserForm. Одновременно активизируется Панель элементов, где расположены все элементы управления, которые можно размещать на формах. Пользовательские диалоговые окна в EXEL являются модальными, т.е. при активном диалоговом окне пользователь может производить действия только в пределах этого окна.

Свойства и методы объекта UserForm.

  • Name – содержит имя, используемой при ссылке на форму;

  • BackColor – цвет фона формы;

  • Caption – текст в заголовке формы;

  • Picture – указывает рисунок, отображаемый как фон формы;

  • Left, Top, Height, Width – устанавливают положение и размер формы;

  • Show – модально отображает форму;

  • Hide – закрывает форму;

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

Если пользователь ввел имя отчета и хочет утвердить его, он нажимает кнопку ОК, форма закрывается и в свойстве Tag запоминается, какой кнопкой была закрыта форма.

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

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

Событие Initialize происходит при первичной активизации формы.

Событие Activate происходит при каждой активизации формы.

На формах размещаются те же элементы управления, что и на рабочих листах. Дополнительно к ним существуют:

  • Frame (рамка) – позволяет объединять переключатели в группы;

  • MultiPage (Набор страниц) – используется для реализации многостраничных диалоговых окон;

  • RefEditпозволяет указывать ячейки в модальном диалоговом окне для выделения диапазона.

Последовательностью перехода называется порядок, в котором элементы диалогового окна будут активизироваться при нажатии клавиши «Tab». Для установки нужной последовательности необходимо в редакторе Visual Basic выбрать команду ВидПоследовательность перехода. В появившемся диалоговом окне с помощью кнопок Вверх и Вниз установить нужный порядок активизации элементов управления.

Используя пользовательскую форму, можно создать мастер.

Мастер – это последовательность диалоговых окон, вид которых меняется на каждом шаге. Для реализации данного процесса используется одна пользовательская форма. На нее помещают последовательность рамок Frame, причем каждая из них должна принадлежать UserForm. Чтобы границы рамок были невидны и создавалось впечатление, что все компоненты расположены на самой форме, нужно задать следующие свойства:

  • Caption = пустая строка;

  • Border – fmBorderStyleNone

  • SpecialEffect – fmSpecialEffectFlat.

На рамках размещаются необходимые компоненты. Переход от одного шага к другому осуществляется с помощью кнопок Назад и Вперед (эти кнопки должны находиться на самой форме), для которых пишутся соответствующие обработчики. Чтобы показать в мастере очередной шаг, достаточно для соответствующей рамки Frame задать свойство Visible=true, а остальные рамки скрыть. На форме также располагаются кнопки Ok и Cancel. Кнопка Ok становится активной только тогда, когда пользователь прошел все шаги мастера и сделал осознанный выбор. По кнопке Cancel можно на любом шаге выйти из мастера без сохранения сделанного выбора.

Лекция №6.