1. Создать новый проект с формой и сохранить его под именем FormEvents.

2. Разместить на форме компоненты TextBox, ListBox и три кнопки CommandButton так, как это показано на рис. 3.22.

Рис. 3.22. Размещение компонентов на форме.


3. При помощи инспектора свойств нужно установить значения свойств для компонентов. Все необходимые значения приведены в табл. 3.5.

Таблица 3.5. Значения свойств кнопок

4. Добавить к проекту еще одну форму. Значения ее свойств можно найти в табл. 3.6.

Таблица 3.6. Свойства новой формы

5. Перейти в окне Project Explorer к форме Form1. Правой кнопкой мыши нужно щелкнуть на форме, в контекстном меню выполнить команду View Code и ввести код модуля, приведенный в листинге 3.9.

Листинг 3.9

>Rem Первая кнопка выводит Форму Form2 на экран

>Private Sub Command1_Click()

>Form2.Show

>End Sub


>Rem Вторая кнопка скрывает форму Form2

>Private Sub Command2_Click()

>Form2.Hide

>End Sub


>Rem Третья кнопка изменяет размер формы Form2

>Private Sub Command3_Click()

>If Form2.Height > 2500 Then

>Form2.Height = 1000: Form2.Width = 1000

>Else

>Form2.Height = 3000: Form2.Width = 3000

>End If

>End Sub


>Private Sub Form_OKClick()

>App.End

>End Sub


>Rem Двойной щелчок по компоненту списка очищает его содержимое

>Private Sub List1_DblClick()

>List1.Clear

>End Sub


>Rem Вывод сообщений о показе и скрытии виртуальной клавиатуры

>Private Sub Form_SIPChange(ByVal IsV As Boolean)

>If IsV Then

>List1.AddItem «Клавиатура показана»

>Else

>List1.AddItem «Клавиатура скрыта»

>End If

>End Sub


>Rem Далее в подпрограммах отслеживаем события от клавиатуры и мыши

>>>>Private Sub Form_KeyDown(ByVal KeyCode As Integer, ByVal shift As Integer)

>List1.AddItem «Text1_KeyDown»

>End Sub


>Private Sub Form_KeyPress(ByVal KeyAscii As Integer)

>List1.AddItem «Text1_KeyPress»

>End Sub


>Private Sub Form_KeyUp(ByVal KeyCode As Integer, ByVal shift As Integer)

>List1.AddItem «Text1_KeyUp»

>End Sub


>Private Sub Form_MouseDown(ByVal button As Integer, ByVal shift As Integer, x, y)

>List1.AddItem «Form_MouseDown»

>End Sub


>Private Sub Form_MouseUp(ByVal button As Integer, ByVal shift As Integer, _x, y)

>List1.AddItem «Form_MouseUp»

>End Sub


>Rem Для того чтобы не засорять список, событие передвижения указателя

>Rem мыши над формой мы обрабатываем только при нажатой левой клавише

>Private Sub Form_MouseMove(ByVal button As Integer, ByVal shift As Integer, x, y)

>If button = 1 Then List1.AddItem «Form_MouseMove»

>End Sub


6. Перейти в окне Project Explorer к форме Form2. В ее модуле следует ввести код, приведенный в листинге 3.10.

Листинг 3.10

>Private Sub Form_QueryUnload(ByVal cancel As Integer, unloadmode)

>Form1.List1.AddItem «Form2 QueryUnload»

>End Sub


>Private Sub Form_Activate()

>Form1.List1.AddItem «Form2 Activate»

>End Sub

>Private Sub Form_Deactivate()

>Form1.List1.AddItem «Form2 Deactivate»

>End Sub

>Private Sub Form_GotFocus()

>Form1.List1.AddItem «Form2 Получила фокус»

>End Sub

>Private Sub Form_LostFocus()

>Form1.List1.AddItem «Form2 Потеряла фокус»

>End Sub

>Private Sub Form_Paint()

>Form1.List1.AddItem «Form2 перерисована»

>End Sub


>Private Sub Form_Load()

>Form1.List1.AddItem «Form2 загружена»

>End Sub


>Private Sub Form_Resize()

>Form1.List1.AddItem « Form2 Resize»

>End Sub


7. Выполнить команду меню Run ► Execute и запустить приложение в эмуляторе. На экран будет выведена первая форма.

8. После нажатия кнопки 1 на экран будет выведена вторая форма, а в ListBox будут выведены сообщения о том, какими событиями сопровождался показ этой формы.

9. Переместить форму Form2 так, чтобы форма выходила за пределы экрана. При этом будет отображено сообщение о том, что форма перерисована.