18+
реклама
18+
Бургер менюБургер меню

Владимир Волков – Программирование для карманных компьютеров (страница 13)

18

Рис. 3.21. Программа FormMethods в работе/

Форма Form2 будет перемещаться по экрану и изменять цвет в момент столкновения с границами экрана. Нажатие кнопки Очистить приведет к тому, что будут стерты линии с поверхности формы Form1. При работе с приложением стоит несколько раз скрыть и снова отобразить форму Form2. Это покажет, что форма не уничтожается при скрытии и продолжает свое перемещение в невидимом состоянии.

Упражнение 3.5

Это упражнение демонстрирует, как работают события объекта Form.

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

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

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

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

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

5. Перейти в окне Project Explorer к форме Form1. Правой кнопкой мыши нужно щелкнуть на форме, в контекстном меню выполнить команду View Code и ввести код модуля, приведенный в листинге 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.

Private Sub Form_QueryUnload(ByVal cancel As Integer, unloadmode)

Form1.List1.AddItem «Form2 QueryUnload»