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

стр.


7. Щелчком мыши выделить компонент Timer1 и для его свойства Interval установить значение 150.

8. Двойным щелчком мыши на компоненте Timer1 создать подпрограмму обработки события одного тика таймера и ввести в нее код, приведенный в листинге 3.3.

Листинг 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.

Листинг 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.

Листинг 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.

Листинг 3.6

>Private Sub Command2_Click()

>Cls

>Form2.Z0rder vbBringToFront

>End Sub


Команда Cls очищает поверхность формы Form1 от нарисованных на ней линий, а метод ZOrder выводит форму Form2 на передний план после выполнения этой команды. Без этого метода она становится невидимой, так как ее заслоняет форма Form1.

13. Ввести еще один блок кода в этом же модуле, приведенный в листинге 3.7.

Листинг 3.7

>Private 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.8

>Option Explicit

>Dim ShFrm2 As Boolear

>ShFrm2 = True


15. Сохранить проект. В качестве целевого устройства нужно выбрать в списке значение Pocket PC 2002 Emulation, после чего следует выполнить команду Run ► Execute. На экран эмулятора будет выведена форма Form1 с нарисованными на ней линиями. После нажатия кнопки Показать на экран будет выведена форма Form2 с нарисованными на ней окружностью и квадратом, а надпись на кнопке изменится на Скрыть (рис. 3.21).

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


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

Упражнение 3.5

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

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

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

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


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