-
Практична частина
-
Самостійна робота
Створити процедуру, що реалізує ефект руху об’єкту.
Ефект руху реалізується за допомогою двох елементів управління, які є елементами масиву об'єктів (масив з 2-х елементів), що містять графічні об'єкти-кадри. В якості джерела графічних об'єктів служать файли Bfly1 і Bfly2 (метелики з розгорнутими і складеними крилами), які використовують елементи керування Image як об'єкт для демонстрації руху. Елемент керування Timer забезпечує старт процедури через встановлений часовий інтервал. Елемент управління CommandButton використовується для зупинки виконання проекту.
-
Створити новий проект з ім’ям Lab3 в папці своєї групи.
-
Встановити розміри форми за розмірами вікна.
-
Встановити назву форми — Метелик.
-
Створити масив з двох об’єктів PictureBox:
-
додати на форму елемент-контейнер PictureBox;
-
в контекстно-залежному меню PictureBox вибрати команду Копировать;
-
в контекстно-залежному меню PictureBox вибрати команду Вставить;
-
на питання “You already have a control named Picture1. Do you want to create a control array?”( Ви вже маєте елемент керування з ім’ям Picture1. Створити масив? відповісти Так (з’явиться другий елемент PictureBox).
-
ідентифікатори елементів масиву за замовчуванням Picture1 (0) і Picture1 (1) - це елементи масиву PictureBox, індексація проводиться з 0.
-
З бібліотеки сайту study.pmvt.com.ua скачати графічні файли bfly1.jpg та bfly2.jpg. Зберегти файли в своїй папці.
-
Властивостям Picture об'єктів PictureBox присвоїти значення Bfly1 і Bfly2 відповідно (в контейнерах PictureBox з'являться об'єкти-метелики( див. рисунок 2.3).

Рисунок 2.3 – Об’єкти масиву елементів PictureBox
-
Змінити властивості об’єктів масиву таким чином, щоб PictureBox відображалися на формі підчас конструювання, але не були присутні на формі підчас виконання програми.
-
Додати на форму об’єкт Timer (див. рисунок 2.4).
-
Встановити значення інтервалу Timer — 200.
-
Додати на форму кнопку.
-
Назвати кнопку “Стоп” (див. рисунок 2.4).
-
Створити для кнопки процедуру завершення роботи програми.
-
Додати на форму об’єкт Image (див. рисунок 2.4)

Рисунок 2.4 – Елементи форми
-
Встановити властивості об’єктів форми у відповідності з таблицею 1.
Таблиця 2. 4 – Властивості елементів керування
|
Об’єкт, властивість |
Значення властивості |
Коментар |
|
Timer |
|
|
|
Name |
Timer1 |
|
|
Interval |
200 |
|
|
Image |
|
|
|
Name |
Image1 |
|
|
Stretch |
-1 |
' True – розміри картинки дорівнюватимуть розмірам об’єкту Image |
|
Picture |
Bfly1 |
`відображує на екрані перший кадр анімації |
|
PictureBox |
|
|
|
Name |
Picture1(0) |
' перший елемент масиву об’єктів |
|
Picture |
(Bitmap) |
'вказує на те, що рисунок вставлено в контейнер |
|
Visible |
0 |
'False – кадр невидимий для користувача |
|
PictureBox |
|
|
|
Name |
Picture1(1) |
' другий елемент масиву об’єктів |
|
Picture |
(Bitmap) |
'вказує на те, що рисунок вставлено в контейнер |
|
Visible |
0 |
'False – кадр невидимий для користувача |
|
CommandButton1 |
|
|
|
Name |
Command1 |
|
|
Caption |
Заголовок форми |
|
|
CommandButton2 |
|
|
|
Name |
Command2 |
|
|
Caption |
Стоп |
|
-
Ввести код, що реалізує ефект руху об’єкту:
Dim i As Integer ' змінна i цілого типу
Private Sub Form_Load()
i = 0
End Sub
Rem присвоєння значення індексу елемента масиву Picture1(i)
Private Sub Timer1_Timer()
Rem властивості Picture елементу керування Image призначити
Rem значення властивості Picture елементу керування Picture
Image1.Picture = Picture1(i).Picture
i = i + 1
If i = 2 Then i = 0
End Sub
Private Sub Command2_Click()
End ' закінчити виконання програми
End Sub
-
Код забезпечує розміщення на екрані зображень Bfly1 і Bfly2 з періодом 0,1 - 0,2 сек. При такому часовому інтервалі користувач не помічає зміни кадрів і створюється ефект руху об'єкта.
Пояснення. При завантаженні форми в пам'ять починає виконуватися процедура Form_Load (), де номером кадру i присвоюється значення 0. Відразу ж починає виконуватися процедура Timer_Timer (): на екран виводиться Image кадр з індексом 0 (метелик - Bfly1), наступний рядок коду збільшує номер кадру (i = i +1). У наступному рядку проводиться перевірка номера кадру і якщо він не дорівнює 2, то на екран виводиться другий кадр кадр (i = 1, метелик - Bfly2). При повторному виконанні коду змінної i присвоюється значення 0 і відбувається зміна кадру. Таким чином метелик махає крилами.
-
Додати на форму кнопку Невидимий. Призначити кнопці дію — зробити метелика невидимим для користувача. За допомогою MsgBox зробити виклик діалогового вікна повідомлення, що з’являтиметься при натисненні кнопки (див. рисунок 2.5).

Рисунок 2.5 – Приклад діалогового вікна повідомлення завдання 17
-
Додати на форму кнопку Видимий. Призначити кнопці дію — зробити метелика видимим для користувача. За допомогою MsgBox зробити виклик діалогового вікна повідомлення, що з’являтиметься при натисненні кнопки (див. рисунок 2.6).

Рисунок 2.6 – Приклад діалогового вікна повідомлення завдання 18
