Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
формы.doc
Скачиваний:
6
Добавлен:
02.06.2015
Размер:
532.48 Кб
Скачать

Событийные процедуры

На процедурном листе формы размещаются процедуры обработки событий, связанных с формой и объектами формы. Для перехода на процедурный лист используйте команду Code из меню View или клавишу F7. На этом же листе могут размещаться дополнительные процедуры, необходимые для выполнения событийных процедур формы или объектов формы. Эти процедуры располагаются в разделе General.

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

Важно

  • Если необходимо обратиться к процедуре, находящейся на процедурном листе некоторой формы, из процедуры, размещенной в стандартном модуле или на другом процедурном листе, то следует указать ссылку на имя этой формы перед именем процедуры (разделитель, как обычно, точка). Например, UserForm1.text_Analysis.

Каждый элемент управления и сама форма обладают некоторыми событиями, при этом одно из событий является событием по умолчанию. Например, событием по умолчанию для командной кнопки является нажатие на нее (Click). Все событийные процедуры для формы и ее элементов записываются на процедурном листе формы.

Важно

  • Двойной щелчок на элемент управления или свободное пространство формы переводит вас в процедуру события по умолчанию соответствующего объекта.

Для записи любой событийной процедуры следует

  • перейти на процедурный лист формы (команда View Codeили клавишаF7),

  • в окне объектов (вверху слева) выбрать объект формы,

  • в окне событий (вверху справа) выбрать событие объекта.

Автоматически появятся команды начала и конца событийной процедуры, ассоциированной с выбранным событием объекта. Процедура имеет стандартное имя, состоящее из имени объекта и названия события.

Важно

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

Объекты UserFormиControls

Все формы конкретного приложения составляют коллекцию UserForms, которая обладает общими свойствами и методами, присущими любой коллекции, например, Count, Item, Add. Программным способом всегда можно добавить новую форму или изменить свойства любой формы коллекции.

Все элементы управления формы составляют коллекцию Controls. Каждый элемент управления имеет индекс в этой коллекции, определяемый порядком возникновения элемента в форме. Каждый элемент управления обладает свойствами, методами и событиями.

В таблице рассмотрены некоторые наиболее употребительные методы объекта UserForm и свойства элементов управления, присущие многим из них (общие свойства).

Некоторые свойства и методы формы и объектов формы

Метод или свойство

Комментарии

Пример

Метод Repaint

Высвечивание модифицированного изображения формы

Userform1.Repaint, Me.Repaint

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

Метод Hide

Скрытие формы

Userform1.Hide, Me.Hide

Форма остается загруженной в память, переменные, определенные на уровне модуля, не теряют своих значений.

Метод Load

Загрузка формы

Load Userform1

Форма загружается в память, но не высвечивается на экране.

Метод UnLoad

Выгрузка формы

UnLoad Userform1, UnLoad Me

Форма выгружается из памяти, значения переменных теряются

Метод Show

Высвечивание формы

Userform1.Show

Если форма спрятана, то она высвечивается. Если форма не загружена, то она загружается и высвечивается.

Метод SetFocus

Установка фокуса на элементе управления

CommandButton1.SetFocus

Свойство Value

Значение элемента управления

TextBox1.Value="Введите текст"

If CheckBox1.Value=True Then TextBox1.BackColor=RGB(255,0,0) Else TextBox1.BackColor=RGB(0,255,0)

Определяет или состояние элемента управления или его содержимое. Для разных элементов управления свойство может принимать различные значения:

  • для CheckBox, OptionButton, ToggleButton это значения Null, True и False;

  • для ComboBox, ListBox это значение в выбранной строке списка, которое берется из столбца, заданного свойством BoundColumn;

  • для CommandButton значение всегда False. Если программно установить Value = True, это вызовет событие Click для кнопки.

  • для TextBox это текст, введенный в поле. Совпадает со свойством Text.

В списках, допускающих множественный выбор, свойство Value не применяется.

Свойство Visible

Скрытие или высвечивание элемента управления

CommandButton1.Visible=False

Принимает значения True или False. По умолчанию True, т.е. элемент виден на экране.

Свойство Name

Имя (идентификатор) объекта

Имя идентифицирует объект во время выполнения программы. Свойство нельзя изменить во время выполнения формы. При задании значения этого свойства применяются обычные правила создания имен: имя начинается с буквы, рекомендуется применять буквы латинского алфавита, строчные и прописные буквы считаются равными, запрещено использовать пробелы, запятые и другие специальные знаки и символы.

Свойство Caption

Подпись объекта

Frame1.Caption = "Up_Down"

Высвечивается в форме в режиме выполнения.

Свойства Left, Top

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

CheckBox1.Left=20

CheckBox1.Top=50

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

Cвойства Height, Width

Размеры объекта на экране

Userform1.Height=200

Textbox1.Width=400

Устанавливают размер формы или элемента управления. Единица измерения - точка.

Свойства BackColor, ForeColor, BorderColor

Цвет фона объекта, цвет переднего плана объекта (цвет текста), цвет рамки (границы) объекта

Userform1.BackColor = RGB(255, 0, 0)

Userform1.BackColor = vbRed

Userform1.ForeColor = vbWhite

Userform1. BorderColor=vbBlack

Определяют внешний вид объекта. Цвет можно выбрать визуально из таблицы цветов. можно задавать программно, используя функцию RGB или константы VBA, которые присваивают свойству целое число, соответствующее выбранному цвету.

Свойство ControlTipText

Короткая подсказка по элементу формы

Frame1.ControlTipText = "Вперед или Назад"

Определяет краткий текст, который появится на экране рядом с объектом, когда курсор мыши будет находиться на данном объекте.

Свойство Font

Шрифт

watch.Font.Bold=True

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

При использовании в процедуре свойство Font возвращает объект Font, свойства которого можно установить программно – оператор, приведенный в примере, устанавливает полужирное начертание для объекта watch.

Свойство TabIndex

Индекс элемента

CommandButton1.TabIndex=1

Определяет порядковый номер элемента управления в обходе всех элементов с помощью клавиши Tab. Нумерация элементов начинается с 0. Максимальное значение этого свойства равно количеству элементов управления минус единица.

Свойство ControlSource

Установка свойства Value элемента управления в значение, расположенное в указанной ячейке

TextBox1.ControlSource="Лист1!A5"

Cвязывает значением элемента управления с ячейкой рабочего листа.

Свойство RowSource

Установка значений элементов списка

ListBox1.RowSource="MySheet!A15:C43"

Cвязывает список с ячейками рабочего листа

Свойство Enabled

Доступность элемента во время выполнения формы

CommandButton1.Enabled=False

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

  • True (по умолчанию) делает элемент доступным;

  • False отключает элемент, т. е. не позволяет пользователю получить доступ к нему с помощью мыши и клавиатуры.

Отключенный элемент затеняется. Оператор, приведенный в примере, не дает возможности пользователю нажать на командную кнопку CommandButton1.