Команда Cls очищает поверхность формы Form1 от нарисованных на ней линий, а метод ZOrder выводит форму Form2 на передний план после выполнения этой команды. Без этого метода она становится невидимой, так как ее заслоняет форма Form1.
13. Ввести еще один блок кода в этом же модуле, приведенный в листинге 3.7.
Листинг 3.7Private Sub Form_Load()
DrawLine 1100, 1100, 9000, 18000, &HFF&
DrawLine 1100, 1100, 18000, 10000, &HFF&
DrawLine 1100, 1100, 18000, 18000, &HFF&
End SubПри помощи этого кода в момент загрузки формы Form1 на ней будут нарисованы три линии красного цвета.
14. В начале этого же блока следует объявить и проинициализировать переменную, которая будет хранить состояние формы. Делается это при помощи кода, приведенного в листинге 3.8.
Листинг 3.8Option Explicit
Dim ShFrm2 As Boolear
ShFrm2 = True15. Сохранить проект. В качестве целевого устройства нужно выбрать в списке значение Pocket PC 2002 Emulation, после чего следует выполнить команду Run ? Execute. На экран эмулятора будет выведена форма Form1 с нарисованными на ней линиями. После нажатия кнопки Показать на экран будет выведена форма Form2 с нарисованными на ней окружностью и квадратом, а надпись на кнопке изменится на Скрыть (рис. 3.21).
Форма Form2 будет перемещаться по экрану и изменять цвет в момент столкновения с границами экрана. Нажатие кнопки Очистить приведет к тому, что будут стерты линии с поверхности формы Form1. При работе с приложением стоит несколько раз скрыть и снова отобразить форму Form2. Это покажет, что форма не уничтожается при скрытии и продолжает свое перемещение в невидимом состоянии.
Упражнение 3.5
Это упражнение демонстрирует, как работают события объекта Form.
1. Создать новый проект с формой и сохранить его под именем FormEvents.
2. Разместить на форме компоненты TextBox, ListBox и три кнопки CommandButton так, как это показано на рис. 3.22.
3. При помощи инспектора свойств нужно установить значения свойств для компонентов. Все необходимые значения приведены в табл. 3.5. Таблица 3.5. Значения свойств кнопок
4. Добавить к проекту еще одну форму. Значения ее свойств можно найти в табл. 3.6.
Таблица 3.6. Свойства новой формы5. Перейти в окне Project Explorer к форме Form1. Правой кнопкой мыши нужно щелкнуть на форме, в контекстном меню выполнить команду View Code и ввести код модуля, приведенный в листинге 3.9.
Листинг 3.9Rem Первая кнопка выводит Форму Form2 на экран
Private Sub Command1_Click()
Form2.Show
End SubRem Вторая кнопка скрывает форму Form2
Private Sub Command2_Click()
Form2.Hide
End SubRem Третья кнопка изменяет размер формы 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 SubPrivate Sub Form_OKClick()
App.End
End SubRem Двойной щелчок по компоненту списка очищает его содержимое
Private Sub List1_DblClick()
List1.Clear
End SubRem Вывод сообщений о показе и скрытии виртуальной клавиатуры
Private Sub Form_SIPChange(ByVal IsV As Boolean)
If IsV Then
List1.AddItem «Клавиатура показана»
Else
List1.AddItem «Клавиатура скрыта»
End If
End SubRem Далее в подпрограммах отслеживаем события от клавиатуры и мыши
Private Sub Form_KeyDown(ByVal KeyCode As Integer, ByVal shift As Integer)
List1.AddItem «Text1_KeyDown»
End SubPrivate Sub Form_KeyPress(ByVal KeyAscii As Integer)
List1.AddItem «Text1_KeyPress»
End Sub