Создание формы (UserForm) и добавление кнопок (СоmmandButton)

Создадим форму с двумя кнопками, как показано на Рис. 10‑1, и напишем программу, которая бы сообщала, какую кнопку нажал пользователь.

Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru

Рис. 10‑1. Форма с командными кнопками

Сначала создадим форму:

1. Чтобы вставить форму в проект воспользуйтесь командой Insert/UserForm (Рис. 10‑2).

Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru

Рис. 10‑2. Вставка формы

В результате выполнения данной команды (Рис. 10‑3) на экране появится форма и панель Элементы управления(ControlsТооlBох):

Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru

Рис. 10‑3. Новая форма и панель элементов управления

В Окне свойств (Рис. 10‑4) задайте имя формы (свойство Name– frmКомандныеКнопки) и заголовок (свойство Caption – Командные кнопки). В результате у Вас получится форма как на

Рис. 10‑5.

Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru Рис. 10‑4. Окно свойств формы Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru Рис. 10‑5

ВНИМАНИЕ! При именовании форм и элементов управления пользуйтесь соглашением об именах, называемое венгерской нотацией. Суть соглашения состоит в том, что имя объекта начинается с префикса, который определяет вид этого объекта. Далее следует собственно имя объекта, которое отображает его суть. В таблице 1 приведены префиксы и примеры имен для элементов управления.

Таблица 1

Элемент управления Префикс Пример имени
TextBox Поле txt txtФамилия
Label Надпись lbl lblИнформ
CommandBar Кнопка cmd cmdОК
ListBox Список lst lstСтуденты
ComboBox Поле со списком cbo cboФакультеты
ScrollBar Полоса прокрутки scr scrВниз
SpinButton Счетчик spn spnВыбор
OptionButton Переключатель opt optВыбор
CheckBox Флажок chk chkКвартал
ToggleButton Выключатель tgl tglПереключатель
Frame Рамка fra fraСтатус
Image Рисунок img imgСпутник
MultiPage Набор страниц mlt mltСтраницы
TabStrip Набор вкладок tab tabДва
UserForm Форма frm frmСессия

2. Чтобы добавить в форму кнопку щелкните по значку Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru , расположенному на панели элементов управления, и очертите мышкой контуры кнопки. Форма с кнопкой будет выглядеть примерно так:

Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru

Размеры формы и кнопок, их месторасположение в любой момент можно исправить (либо перетаскивая размерные маркеры, либо сам элемент). Чтобы удалить ненужный элемент управления щелкните по нему мышкой и нажмите клавишу [Delete].

3. В окне свойств кнопки CommandButton измените её имя (cmdOK), надпись (ОК), шрифт надписи (Tahoma, 9 пунктов, жирный) и свяжите её с клавишей [Enter] (Рис. 10‑6). В результате Ваша форма будет иметь вид (Рис. 10‑7):

Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru Рис. 10‑6. Окно свойств кнопки CommandButton Создание формы (UserForm) и добавление кнопок (СоmmandButton) - student2.ru Рис. 10‑7.Форма с кнопкой

4. Аналогично добавьте кнопку Отмена, связав её с кнопкой [Escape] (для этого в окне её свойств для свойства Cancel установите True).

5. Измените размеры формы, сделайте кнопки одного размера и расположите их симметрично. Помните: Ваша форма должна быть аккуратной, удобной и строгой, а все её элементы - соразмерными. Чтобы посмотреть, как форма будет выглядеть на экране, нажмите кнопку [F4]. Чтобы убрать форму с экрана, щелкните по кнопке Закрыть.

ЗАМЕЧАНИЯ:

§ В окне свойств прописываются те свойства, которыми форма будет обладать при вызове её на экран. В процессе выполнения программы свойства формы и расположенных на ней элементов управления могут меняться. Классический пример - недоступность какого-то элемента управления (например, кнопки ОК) до тех пор, пока пользователь не введет/выберет все значения, которые он должен указать в форме.

§ Свойства формы и элементов управления можно задавать в процедуре инициализации формы, которая находится в модуле формы. Пропишем, например, программными средствами некоторые свойства формы frmКомандныеКнопки: определим заголовок формы – Командные кнопки, кнопку ОК свяжем с клавишей [Enter], а кнопку Отмена – с клавишей [Escape]. Для этого дважды щелкните по форме - на экране появится пустая процедураPrivate SubUserForm_Click(), которая нам не нужна, но в результате этого действия на экране появится список процедур, в котором надо выбрать процедуру Initialize, а затем ввести код:

Private SubUserForm_Initialize()

Caption = "Командные кнопки"

cmdOK.Default = True

cmdОтмена.Cancel = True

End Sub

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

Эту же программу можно было бы поместить в любой модуль с произвольным именем:

SubКомандныеКнопки()

frmКомандныеКнопки.Caption = "Командные кнопки"

frmКомандныеКнопки.cmdOK.Default = True

frmКомандныеКнопки.cmdОтмена.Cancel = True

frmКомандныеКнопки.Show

End Sub

Сравните ссылки на одни и те же объекты в этих двух программах!

6. Теперь «скажем», что должно происходить, если пользователь щелкнет по кнопке ОК. Для этого дважды щелкните в форме по кнопке ОК – на экране появится пустая процедура Private Sub cmdOK_Click()(событие – щелчок по кнопке ОК)

7. Введите в ней следующий код:

Private Sub cmdOK_Click()

MsgBox "вы нажали на кнопку ОК!", vbInfomation, _

"Нажатая кнопка"

Unload Me

End Sub

8. Аналогично создайте процедуру обработки события «Щелчок по кнопке Отмена»:

Private Sub cmdОтмена_Click()

MsgBox "вы нажали на кнопку Отмена!", vbInfomation, _

"Нажатая кнопка"

Unload Me

End Sub

Осталось теперь запустить созданное приложение и протестировать его работу.

Наши рекомендации