Владимир Волков

Программирование для карманных компьютеров


Скачать книгу

Вторая кнопка скрывает форму 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 так, чтобы форма выходила за пределы экрана. При этом будет отображено сообщение о том, что форма перерисована.

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