Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Информатике на Машфаке и ТЭА.doc
Скачиваний:
99
Добавлен:
29.02.2016
Размер:
3.28 Mб
Скачать

19.1.3 Отображение экранной формы

Отображение формы на экране в VBA выполняется в два этапа:

  • Загрузка формы в оперативную память компьютера

  • Отображение загруженной формы на экране.

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

Для отображения формы на экране используется метод Show объекта UserForm.

Синтаксис вызова метода следующий

Имя объекта.метод.

Метод Show сначала загружает данную форму, а затем выводит ее на экран. Если форма уже была загружена, то метод Show просто выводит ее на экран.

Для загрузки в память формы используется оператор Load. Оператор Unload используется для выгрузки из памяти формы.

Синтаксис этих операторов следующий:

Load Имя формы

Unload Имя формы.

После того как форма загружена в память можно использовать любую написанную на VBA процедуру. Оператор Unload выгружает (удаляет) из памяти форму, т.е. указанный объект класса UserForm, после чего форма уже не будет доступна для VBA.

Пример процедуры, которая отображает на экране форму (процедура должна находиться в обычном модуле VBA, а не в модуле экранной формы).

Public Sub Вызов_формы()

UserForm1.Show

UserForm2.Show

End Sub

Текст программы в модуле VBA

Public Sub Создание_формы()

Load UserForm1

n = InputBox("Введите 1 если нужно вывести форму" & Chr(10) _

& "Введите 2 если нужно вывести форму")

If n = 1 Then UserForm1.Show

End Sub

19.1.4 Закрытие экранной формы.

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

  • Либо описанного выше оператора Unload,

  • Либо метода Hide (скрыть) – этот метод объекта UserForm удаляет изображение экранной формы с экрана, но не выгружает из памяти компьютера.

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

Обычно в любой экранной форме есть командная кнопка Отмена (Закрыть), за которой закреплена процедура обработки события, содержащая оператор Unload.

Private Sub CommandButton1_Click()

UserForm1.Hide

Unload UserForm1

End Sub

19.1.5 Некоторые свойства объекта UserForm

У объекта UserForm есть большое количество принадлежащих ему свойств, которые отображаются в окне Свойств (Properties) при ее выборе.

Приведем наиболее важные

Свойство

Назначение

Name

Имя объекта данной формы – именно оно должно использоваться в программе для ссылки на эту форму

Caption

Содержит текст, отображаемый в строке заголовка формы

Height

Высота формы в пунктах (1 пункт = 1/72 дюйма)

Width

Определяет ширину формы в пунктах

MousePointer

Определяет вид курсора мыши, когда он находится над формой

Pictuer

Определяет файл рисунка, который используется как фоновое изображение в окне формы

BackColor

Возвращает цвет фона формы

Цвета, устанавливаемые свойствами BackColor, ForeColor и BorderColor, задаются шестнадцатеричными числами. Если эти свойства устанавливать не при помощи окна Свойства (Properties), а программно, вместо этих шестна-дцатеричных чисел удобнее использовать соответствующие постоянные, задающие цвета (табл. 7.2).

Таблица Константы, задающие цвет

Константа

Значение

Цвет

vbBlack

0x0

Черный

vbRed

0xFF

Красный

vbGreen

0xFF00

Зеленый

vb Yellow

0xFFFF

Желтый

vbBlue

0xFF0000

Синий

vbMagenta

0xFF00FF

Розойый

vbCyan

0xFFFF00

Голубой

vbWhite

0xFFFFFF

Белый

Примеры. Рассмотрим несколько простых примеров использования свойств и методов формы с помощью процедур обработки событий.

Начнем с события Click, т.к. процедуру обработки этого события легче всего создать: достаточно дважды щелкнуть на форме в режиме разработки. В программном коде формы будет предоставлен шаблон прорцедуры обработки события Click на форме.

Private Sub UserForm_Click()

End Sub

Запишем отклик на событие Click

Private Sub UserForm_Click()

MsgBox "Событие Click", , "Первая форма"

End Sub

Затем в поле обработчика события формы вызовем обработчик события Activate, и напишем отклик на обработчик события

Private Sub UserForm_Activate()

UserForm1.Caption = "Привет первая форма"

UserForm1.Height = 300

UserForm1.Width = 450

MsgBox "Событие Activate"

End Sub

Итак наиболее часто используемые методы объекта UserForm.

Метод

Назначение

Show

Отображает форму на экране

Hide

Закрывает форму

Move

Изменяет положение и размер формы

PrintForm

Печатает изображение формы