В табл. 3.2 приведено описание свойств компонента Form.
В этом разделе описываются события компонента Form. Все они приведены в табл. 3.3.
Упражнение 3.4
Это упражнение демонстрирует работу с методами объекта Form.
1. Создать новый проект с формой и сохранить его в папке FormMethods, задав имя файла FormMethods.ebp. Будет создан проект с формой Form1.
2. Нажать кнопку AddForm, что приведет к добавлению к проекту еще одной формы с именем Form2.
3. Разместить на форме Form1 две кнопки так, как это показано на рис. 3.19.
Рис. 3.19. Размещение кнопок на форме Form1.
4. Пользуясь инспектором свойств, установить для формы Form1 значение true для свойства AutoRedraw и значение 20 для свойства DrawWidth. Остальным свойствам можно оставить их значения по умолчанию.
5. В окне Project Explorer выбрать форму Form2. Необходимые значения свойств для этой формы приведены в табл. 3.4. Остальные свойства нужно оставить без изменений.
6. Форма изменит цвет и размеры. На форме Form2 требуется разместить компонент Timer, как это показано на рис. 3.20.
Рис. 3.20. Форма Form2 после редактирования свойств и размещения таймера.
7. Щелчком мыши выделить компонент Timer1 и для его свойства Interval установить значение 150.
8. Двойным щелчком мыши на компоненте Timer1 создать подпрограмму обработки события одного тика таймера и ввести в нее код, приведенный в листинге 3.3.
>Private Sub Timer1_Timer()
>i=i+a
>j=j+b
>If i > 1600 Then a = – a: BackColor = &HFF&:
>DrawCircle 500, 500, 400, &HFF00FF:
>DrawLine 1100, 1100, 1800, 1800, &HFF00FF, vbLineBoxFill
>If j > 2500 Then b = – b: BackColor = &HFFFF&:
>DrawCircle 500, 500, 400, &HFF00FF:
>DrawLine 1100, 1100, 1800, 1800, &HFF00FF, vbLineBoxFill
>If i < 0 Then a = – a: BackColor = &HFF00&:
>DrawCircle 500, 500, 400, &HFF00FF:
>DrawLine 1100, 1100, 1800, 1800, &HFF00FF, vbLineBoxFill
>If j < 0 Then b = – b: BackColor = &HFF0000:
>DrawCircle 500, 500, 400, &HFF00FF:
>DrawLine 1100, 1100, 1800, 1800, &HFF00FF, vbLineBoxFill
>Move i, j
>End Sub
Этот код демонстрирует применение методов DrawCircle, DrawLine и Move для того, чтобы перемещать форму Form2 и рисовать на ее поверхности круг и прямоугольник.
9. Кроме кода обработчика события тика таймера необходимо после строки Option Explicit ввести еще один блок кода объявления и инициализации переменных, приведенный в листинге 3.4.
>Dim a, b, i, j
>i=0
>j=0
>a = 100
>b = 50
10. В окне Project Explorer необходимо переключиться на объект Form1. Для кнопок Command1 и Command2 свойство Caption должно получить значения Показать и Очистить соответственно.
11. Двойным щелчком на кнопке Command1 создать обработчик события щелчка на кнопке и ввести для него код, приведенный в листинге 3.5.
>Private Sub Command1_Click()
>If ShFrm2 Then
>Form2.Show
>ShFrm2 = False
>Command1.Caption = «Скрыть»
>Else
>Form2.Hide
>ShFrm2 = True
>Command1.Caption = «Показать»
>End If
>End Sub
Этот метод демонстрирует применение методов Show и Hide для отображения и скрытия формы Form2 при нажатии кнопки Command1.
12. Двойным щелчком на кнопке Command2 создать обработчик события щелчка на кнопке и ввести для него код, приведенный в листинге 3.6.
>Private Sub Command2_Click()
>Cls
>Form2.Z0rder vbBringToFront
>End Sub
Команда Cls очищает поверхность формы Form1 от нарисованных на ней линий, а метод ZOrder выводит форму Form2 на передний план после выполнения этой команды. Без этого метода она становится невидимой, так как ее заслоняет форма Form1.