1. Do |
2. Do |
Блок операторов |
Блок операторов |
Loop While Условие |
Loop Until Условие |
На форме расположены метки с текстом «Hello!» и «Внимание!», кнопка «Изменить текст» и временно невидимая кнопка «Убрать цвет». Щелчок левой кнопкой мыши по первой метке изменяет ее цвет на красный и отображает кнопку «Убрать цвет». Двойной щелчок мыши по первой метке изменяет ее цвет на синий и отображает кнопку «Убрать цвет». Кнопка «Убрать цвет» возвращает метке первоначальный цвет и скрывает себя.
Кнопка «Изменить текст» меняет текст в первой метке: заменяет текст «Hello!» на текст
«Привет!» или наоборот. При нажатии левой кнопки мыши на второй метке текст в ней выделяется жирным шрифтом, а при отпускании левой кнопки мыши текст становится обычным. Внешний вид формы после щелчка по первой метке показан на рис. 4.
Объекты и их свойства, определяемые на этапе проектирования в окне свойств, показаны в табл. 5.
|
|
Таблица 5 |
|
Перечень объектов и их свойств |
|||
Объекты |
Свойства |
Значения свойств |
|
Форма UserForm1 |
Caption |
События |
|
Метка Label1 |
Caption |
Hello! |
|
|
Font |
Размер шрифта 24 |
|
Метка Label2 |
Caption |
Внимание! |
|
|
Font |
Размер шрифта 24 |
|
Кнопка CommandButton1 |
Caption |
Убрать цвет |
|
|
Visible |
False |
|
Кнопка CommandButton2 |
Caption |
Изменить текст |
|
16
После создания всех объектов и задания их свойств, приступим к написанию процедур обработки нужных событий. Сделаем двойной щелчок мыши по первой метке, в окне редактора кода появится заготовка процедуры обработки события Click (щелчок мыши):
Private Sub Label1_Click()
Имя объекта Имя события
End Sub
Для некоторых событий процедура содержит в скобках определенные параметры. Для краткости записи в дальнейшем мы будем их опускать.
Допишем в процедуру две команды. |
|
Private Sub Label1_Click() |
|
Label1.BackColor = RGB(255, 0, 0) |
‘цвет метки красный |
CommandButton1.Visible = True |
‘делаем кнопку видимой |
End Sub |
|
Функция RGB (Red, Green, Blue) возвращает RGB-код цвета. Значение для каждого цвета (Red – красный, Green – зеленый, Blue – синий) задаются в диапазоне от 0 до 255. Коды некоторых цветов приведены в прил. 3.
Для создания процедуры обработки события DblClick (двойной щелчок мыши) для первой метки выберем его из списка событий (см.
рис. 2). |
|
Private Sub Label1_DblClick() |
|
Label1.BackColor = RGB(0, 0, 255) |
‘цвет метки синий |
CommandButton1.Visible = True |
‘делаем кнопку видимой |
End Sub |
|
Теперь нужно написать процедуры обработки события Click для двух кнопок. Сделаем двойной щелчок мышью по кнопке «Убрать цвет», в окне редактора кода появится заготовка процедуры, допишем
в нее нужные команды. |
|
Private Sub CommandButton1_Click() |
|
Label1.BackColor = &H8000000F |
‘исходный цвет метки |
CommandButton1.Visible = False |
‘делаем кнопку невидимой |
17 |
|
End Sub
Код цвета объекта можно посмотреть в окне свойств и скопировать его в программный код. Аналогично создаем процедуру для второй кнопки.
Private Sub CommandButton2_Click() |
|
|
Dim s As String |
|
|
s = Label1.Caption |
‘считываем текст в метке |
|
If s = “Hello!” Then Label1.Caption = “Привет!” |
‘проверяем и |
|
If s = “Привет!” Then Label1.Caption = “Hello!” |
‘меняем текст |
|
End Sub |
|
|
Создаем процедуру обработки события MouseDown (нажатие кнопки мыши) для второй метки. Для этого выберем из списка объектов объект Label2, а из списка событий событие MouseDown.
Private Sub Label2_MouseDown()
Label2.Font.Bold = True ‘делаем жирный шрифт
End Sub
Аналогично создаем процедуру для события |
MouseUp |
(отпустить кнопку мыши). |
|
Private Sub Label2_MouseUp()
Label2.Font.Bold = False ‘убираем жирный шрифт
End Sub
На форме расположены метка с текстом «Введите свое имя», поле для ввода имени, пустая метка для вывода приветствия и две кнопки: «Ввод» и «Выход». Пользователь вводит в поле свое имя и нажимает на кнопку «Ввод», которая считывает введенное имя и выводит его в пустую метку в виде приветствия
«Hello, имя!». Кнопка
«Выход» завершает работу приложения. Внешний вид
Рис. 5. Внешний вид формы
18
формы после нажатия кнопки «Ввод» показан на рис. 5.
После создания объектов и задания их свойств (Caption, Font) нужно написать процедуры обработки события Click для кнопок.
Private Sub CommandButton1_Click() Dim s As String
s = TextBox1.Text ‘считываем введенное имя из поля ‘выводим в метку приветствие
Label1.Caption = “Hello, ” & s & “!”
End Sub
_______________________________________________________________________________________________________
Private Sub CommandButton2_Click()
End
End Sub
На форме расположены рисунок самолета и кнопка «Посадка». После нажатия на кнопку рисунок перемещается в левый нижний угол формы, и кнопка становится недоступна.
Внешний вид формы показан на рис. 6.
Горизонтальная координата рисунка должна стать равной нулю, а вертикальная координата
вычисляется как разность Рис. 6. Внешний вид формы между истинной высотой
формы (без рамки и заголовка) и высотой рисунка.
Private Sub CommandButton1_Click()
Image1.Left = 0
Image1.Top = UserForm1.InsideHeight – Image1.Height
CommandButton1.Enabled = False
End Sub
19
На форме расположены три рисунка: станция технического осмотра, машина, канистра с бензином (временно невидимая), а также три кнопки: «На станцию» и временно недоступные «Назад» и «Заправка». Кнопка «На станцию» изменяет координаты рисунка с машиной так, чтобы «машина оказалась на станции», делает рисунок с канистрой видимым, а кнопки «Назад» и «Заправка» – доступными. Кнопка «Назад» возвращает машину на прежнее место (правый нижний угол формы), делает рисунок канистры невидимым, а кнопки «Назад» и «Заправка» – недоступными. Кнопка «Заправка» уменьшает размеры рисунка канистры на 10 пикселей, если это возможно.
Объекты и их свойства, определяемые на этапе проектирования, показаны в табл. 6.
|
|
Таблица 6 |
Перечень объектов и их свойств |
||
Объекты |
Свойства |
Значения свойств |
Форма UserForm1 |
Caption |
ГАРАЖ |
Рисунок Image1 (станция) |
Picture |
C:\... путь к файлу с рисунком |
|
PictureSizeMode |
Stretch |
Рисунок Image2 (машина) |
Picture |
C:\... путь к файлу с рисунком |
|
PictureSizeMode |
Stretch |
Рисунок Image3 (канистра) |
Picture |
C:\... путь к файлу с рисунком |
|
PictureSizeMode |
Stretch |
|
Visible |
False |
Кнопка CommandButton1 |
Caption |
На станцию |
Кнопка CommandButton2 |
Caption |
Назад |
|
Enabled |
False |
Кнопка CommandButton3 |
Caption |
Заправка |
|
Enabled |
False |
Внешний вид формы на разных стадиях выполнения проекта показан на рис. 7.
20