
Посібник_Лутай АП
.pdf
This document is created with trial version of Document2PDF Pilot 2.16.100.
Рисунок 5.4.3.14 - Вікно редактора меню
У полі Caption (2) визначають назву меню, а в поліName (3) — його ім'я, яке буде використовуватись у програмі.
Кнопки (1) мають таке призначення: Next — створення нового пункту меню; Insert — додавання нового пункту в меню; Delete — вилучення попередньо виділеного пункту меню.
Призначення кнопок-стрілок (5) таке:
•кнопки із стрілками ліворуч, праворуч — для зміни рівня виділеної к о- манди в ієрархії меню;
•кнопки із стрілками вгору, вниз — для зміни порядку розташування к о- манд або заголовків меню.
Щоб створити «гарячі» клавіш і, необхідно у вікні редактора меню у полі
Caption додати символ & перед тією літерою в назві команди меню, яку актив і- зують разом із клавішею Alt для виконання цієї команди.
Перемикач Enabled (4) визначає наявність команди меню на екрані (вона може бути неактивною в певний момент роботи програми).
Нехай, наприклад, треба створити програму для вибору варіантів перегляду значень поточної дати. З цією метою у вікні Menu Editor виконують такі дії:
•визначають ім'я заголовка меню у полі Caption вікна Menu Editor (наприклад, «Вибір»);
•у полі Name вводять ім'я, яке буде використовуватись у програмі (напр и-
клад, mnuCase);
•активізують кнопку Next для переходу до створення іншої команди меню;
•наступна команда є вбудованою к омандою меню Вибір, тому при її ств о-
291

This document is created with trial version of Document2PDF Pilot 2.16.100.
ренні спочатку активізують кнопку із стрілкою праворуч. Після цього вводять такі імена: Caption — дата та час, Name — mnuDateltem. Ці команди відображено на рисунку 5.4.3.15;
• активізують кнопку Next для створення наступних пунктів меню з такими іменами:
Caption — день, Name — mnuDayltem; Caption — час, Name — mnuTimel-
tem; Caption — рік, Name — mnuYearltem; |
|
• додають «гарячі» клавіші, вставляючи символ |
& |
перед відповідною літерою. |
|
Для виведення значень у формі потрібно створити об'єкт за допомогою кнопки Label панелі інструментів General, для якого у вікні Properties змінюють такі властивості: Alignment (2-Center), Border Style (1-Fixed Single), Caption (порожньо), Font (MS Sans Serif Bold 16 point).
Рисунок 5.4.3.15 - Створення меню команд для наведеного прикладу
Для додавання програмних операторів слід активізувати вікно Code. З цією метою користуються командами View, Code головного меню або у вікні Project клацають правою клавішею миші на формі, активізуючи команду View Code. У результаті на екрані дисплея з'являється вікно, показане на рисунку 5.4.3.16
У цьому вікні, відкриваючи список, вибирають потрібний об'єкт, внаслідок чого на екрані з'являються початковий та кінцевий оператори процедури, між якими вводять оператор, що виконує дію.
Наприклад, після активізації об'єкта mnuDayltem виникає процедура оброблення події з іменем
Private Sub mnuDayltem_Click()
292

This document is created with trial version of Document2PDF Pilot 2.16.100.
Після вибору пункту меню у форму виводиться номер поточного дня міс я- ця. Це значення присвоюється створеному у форм і об'єкту типу Label. Оператор процедури має такий вигляд:
Labell.Caption = Day(Date)
Рисунок 5.4.3.16 - Вибір об'єкта у вікні Code
Для інших пунктів меню у вікні Code активізують відповідний об'єкт і д о- дають оператори.
Після введення всіх значень в ікно Code має вигляд, показаний на рис унку
5.4.3.17.
Рисунок 5.4.3.17 - Програма виконання меню
293

This document is created with trial version of Document2PDF Pilot 2.16.100.
Для збереження створеного проекту активізують команди File, Save Project або кнопку Save Project. У результаті на екрані дисплея з'являється вікно Save File As, в якому вибирають потрібний диск, папку, у полі Имя файла вводять ім'я форми, активізують кнопку Сохранить. На екрані дисплея з'являється вікно Save Project As для введення імені всього проекту (який може складатися з кількох форм), після чого активізують кнопку Сохранить.
Далі перевіряють роботу створеної форми. Для цього активізують кнопку Start панелі інструментів Standard або команди Run, Start чи натискають на клавішу F5.
Після вибору команди Рік форма матиме вигляд, показаний на рис унок
5.4.3.18.
Рисунок 5.4.3.18 - Виконання команди створеного меню
Створення контекстних меню
Контекстні меню, на відміну від звичайних, на екрані дисплея з'являються лише після виконання користувачем певних дій (наприклад, клацання правою клавішею миші). Для створення такого меню також використовують редактор м е- ню Menu Editor. Однак це меню є неявним, тобто елементу меню верхнього рівня присвоюють властивість Visible з параметром False.
Нехай, наприклад, треба створити контекстне меню, що складається з к о- манд копіювання, вставлення, вилучення. Для цього виконують такі дії:
1.У формі активізують діалогове вікно Menu Editor.
2. Створюють команду Edit головного меню (поле Caption) із програмним іменем mnuEdit (поле Name). Параметр Visible роблять неактивним.
З. Далі створюють команди підменю (за допомогою кнопки Next і кнопки із стрілкою праворуч) з такими іменами: таблиця 5.4.3.8.
Таблиця 5.4.3.8 - Імена
Caption |
Name |
Копіювання |
мгшСору |
Вставлення |
Mnulnsert |
Вилучення |
MtiuDel |
4. У вікні Code у переліку об'єктів виби рають елемент мпиСору, додаючи функцію для демонстрації дії процедури MsgBox «копіювання тексту».
5.У переліку об'єктів вибирають елемент Form. У переліку процедур активізують подію MouseUp, додаючи такі оператори оброблення події натиснення на праву клавішу миші:
294

This document is created with trial version of Document2PDF Pilot 2.16.100.
If Button = vbRightButton Then Forml.PopupMenu mnuEdit End If
6. Після збереження проекту (за допомогою команд File, Save Project As)
активізують створену програму (кнопка |
Start). Форма завантажується, а після |
клацання правою клавішею миші у формі |
з'являється контекстне меню, в якому |
вибирають команду Копіювання.
Проект у командному вигляді можна переглянути, скориставшись вікном, показаним на рисунок 5.4.3.19.
Рисунок 5.4.3.19 - Створення контекстного меню Узгодження імен при створенні програм
При створенні програм у Visual Basic рекомендується користуватись такими іменами об'єктів: таблиця 5.4.3.9.
Таблиця 5.4.3.9 – Імена об'єктів
Ім'я |
Об'єкт |
мпи |
Меню |
chk |
Поле прапорця |
cmd |
Командна кнопка |
dig |
Діалогове вікно |
dat |
Дані |
dir |
Поле списку каталогу |
drv |
Поле списку дисків |
fil |
Поле списку файлів |
fra |
Фрейм |
frm |
Форма |
hsb |
Горизонтальна лінійка прокручування |
img |
Поле зображення |
1Ы |
Поле мітки |
1st |
Поле списку |
ole |
Об'єкт OLE |
opt |
Кнопка вибору |
pic |
Поле рисунка |
txt |
Текстове поле |
trnr |
Таймер |
vsb |
Вертикальна лінійка прокручування |
|
295 |
This document is created with trial version of Document2PDF Pilot 2.16.100.
Створення графічних зображень і робота з ними Графічні зображення застосовуються для вдосконалення візуального вигл я-
ду екранної форми, створення спеціальних ефектів за допомогою анімації, граф і- чних командних кнопок, додавання дії «перетягнути і залишити» тощо.
Елементи керування Line та Shape.
Найпростішим способом додавання графічних зображень є використання елементів керування Line та Shape, розміщених на панелі інструментів General.
За допомогою еле мента Line можна створювати прямі лінії у формі та в и- значати їхні координати. Змінити вигляд лінії можна, змінюючи такі властивості:
•Border Width — товщина лінії (одиниця товщини — twip —дорівнює 1/20 пункту, або 1/1440 дюйма);
•BorderStyle — тип лінії (суцільна, кілька типів ліній), причому у випадку, коли товщина лінії (Вог-derWidth) перевищує 1 twip, значення BorderStyle не змінюється;
•BorderColor — колір лінії;
•XI, Х2, Yl, Y2 — кординати кінцевих точок лінії (точка 0,0 — верхній лівий куток форми).
Елемент Shape дає змогу створювати такі графічні об'єкти, як прямокутники, квадрати, овали, круги та інші, початковою фігурою для яких є квадрат, а інші можна створити, змінюючи значення властивості елемента Shape, а також установити:
•FillColor — колір заливання;
•FillStyle — тип заливання (вертикальні та горизонтальні лінії, діагональний
іпрямий хрести тощо);
•BorderColor — колір рамки;
•BorderWidth — товщина рамки;
•BackStyle — прозорість графічного об'єкта (значення Transparent). Елементи керування Image та PictureBox. Ці елементи застосовуються
для завантаження наявних файлів із зображеннями. Visual Basic підтримує такі формати графічних файлів, як BMP, DIB, ICO, CUR, WMF, EMF, GIF, JPEG, JPG.
При використанні елемента Image у формі створюється фрейм. Щоб уст а- вити в нього зображення, треба активізувати властивість Picture і вибрати зобр а- ження. Властивість Stretch повинна мати значення True для автоматичної зміни розміру зображення при вміщенні у фрейм. При цьому зображення можуть бути викривлені. У програмі для завантаження зображення використовують оператор
Imagel.Picture = LoadPicture (<ім'я файла>)
Наприклад:
Imagel.Picture = LoadPicture ("C:\Vb6sbs\Priklad.BMP")
296
This document is created with trial version of Document2PDF Pilot 2.16.100.
Елемент PictureBox створює об'єкт, в який, крім зобр аження, можна також додавати інші графічні об'єкти (наприклад, Line або Shape). Переміщення об'єкта відбувається разом з усіма вміщеними в ньому об'єктами. Початковий розмір з о- браження об'єкта PictureBox, на відміну від елемента Image, змінювати не можна, але після встановлення значення True у властивість AutoSize розмір зображення буде збігатися з розміром самого елемента.
Переміщення об'єктів При переміщенні об'єктів за програмою застосовується система координат,
що складається з рядків (вісь X) та стовпц ів (вісь Y). Точка в системі координат визначається перетином рядка і стовпця, а її координата записується у вигляді (х,
у). Початок системи координат (0, 0) — у верхньому лівому кутку форми. |
Move, |
Для переміщення об'єктів у формі також використовують команду |
|
яка має такий загальний вигляд: |
|
об'єкт.Моуе X,Y,
де X — відстань між лівою межею форми та об'єктом; Y — відстань від верхньої межі форми до об'єкта. Наприклад, оператор
Picturel.Move 1000,1000
установлює об'єкт у точку із заданими координатами.
Властивості об'єкта Top, Left (зверху, ліворуч) визначають відстань від ві д- повідних меж форми і використовуються для виконання відносного переміщення об'єкта. Наприклад, оператор
Picturel.Move Picturel.Left + 25, Picturel.Top - 25 пересуває об'єкт на 25 одиниць від лівого краю та на 25 одиниць до верхнього краю форми.
Приклад. Програма створення ефекту анімації. У цій програмі за доп о-
могою оператора Move та об'єкта Timer відбувається переміщення об'єкта PictureBox після активізації командної кнопки Початок руху.
Для реалізації цього алгоритму у формі треба створити об'єкти з такими значеннями властивостей:
CommandButton (командна кнопкаї) Caption — Pyx
CommandButton (командна кнопка2) Caption — Зупинка
PictureBox
Picture — вибір графічного файла Timerl
Enabled — False Interval — 75
У вікні Code для кожного об'єкта додають такі програмні оператори: Private Sub Comrnandl_Click()
Timerl.Enabled = True End Sub Private Sub Command2_Click()
Timerl.Enabled = False End Sub Private Sub Timerl_Timer() Picturel.Move Picturel.Left + 25, Picturel.Top End Sub
Програма працює під керуванням таймера. Перша кнопка активізує його дію, починається рух зображення на екрані дисплея; друга кнопка зупиняє таймер, при цьому процедура оброблення дії таймера припиняється ( Private Sub Timerl_Timer()).
297

This document is created with trial version of Document2PDF Pilot 2.16.100.
Екранна форма має вигляд, показаний на рисунку 5.4.3.20.
Рисунок 5.4.3.20 - Створення ефекту анімації
Робота з масивами
Для підвищення продуктивності оброблення певного обсягу даних їх можна об'єднати в окрему групу.
Масив — група однотипних елементів, об'єднаних одним іменем і впорядкованих за індексами, які визначають місцероз-ташування елемента в групі.
Перед створенням масив оголошують, при цьому залежно від місця оголошення масив може бути як локальним, так і глобальним. Якщо кількість елементів масиву відома, він є масивом із фіксованими межами. У випадку змінної кількості елементів створюють динамічний масив. Для оголошення масиву використовують оператор
Dim <ім'я масиву> (<число1>[, <число2>]) [As <тип даних>],
де ім'я масиву — ім'я змінної типу «масив»; числої — розмір масиву (кількість рядків); число2 — розмір масиву (кількість стовпців), якщо він двовимірний; тип даних — тип даних масиву, за замовчуванням — тип Variant.
Кожен елемент масиву має свій індекс (місце розташування в маси ві), що складається з номера рядка і номера стовпця, причому нумерація починається з 0. Для спрощення роботи з індексами масивів на початку процедури (або в стандартному модулі) використовують оператор Option Base 1, тоді індекс першого елемента змінюється з 0 на 1.
Наприклад, елементи одновимірного масиву А з п'яти елементів мають такі
індекси: |
|
|
|
|
|
|
|
А(0) |
А(1) |
А2) |
А(3) |
А4 |
|
||
Елементи двовимірного масиву, що складається з трьох рядків і чотирьох |
|||||||
стовпців, характеризуються такими індексами: таблиця 5.4.3.10. |
|
||||||
Таблиця 5.4.3.10 – Індекси |
|
|
|
|
|
||
А(0,0) |
|
|
А(0,1) |
|
А(0,2) |
|
А(0,3) |
А(1,0) |
|
|
А(1,1) |
|
А(1,2) |
|
А(М) |
А(2,0) |
|
|
А(2,1) |
|
А(2,2) |
|
А(2,3) |
Під час роботи з масивами використовують оператори циклу For...Next, при цьому лічильник повторень циклів пов'язується з індексами елементів.
298
This document is created with trial version of Document2PDF Pilot 2.16.100.
Приклад. Робота з масивами. Нехай треба створити двовимірний масив А(2,3), розрахувати максимальне і середнє його значення та суму елементів мас и- ву.
Для виконання такого завдання у формі створюють три командні кнопки з відповідними параметрами:
Commandl — Елементи масиву (Caption), cmdMas (Name); Command2 — Розрахунок (Caption), cmdRezult (Name); Command3 — Вихід (Caption), cmdExit (Name).
Далі створюють стандартний модуль (команди Project, Add Module, New, Открыть) і вводять такі оператори:
Option Base 1 'зміна індексів масиву'
Public A(2,3) 'масив доступний у всіх процедурах'
Після цього закривають вікно Code і двічі клацають клавішею миші на кн о- пці Елементи масиву, завдяки чому відкривається процедура cmdMas_Click, в якій додають такі оператори:
CIs
Mess$ = "введіть значення елементів масиву" For і = 1 То 2
Forj = ІТоЗ
А(і, j) = lnputBox(Mess$) Next Next
Для створення наступної процедури оброблення події активізації другої кнопки слід двічі клацнути клавішею миші на кнопці Розрахунок або активізувати об'єкт cmdRezult із переліку у вікні Code. Завдяки цьому відкривається процедура cmdRezult_Click(), в якій додають такі оператори:
FontSize = 12 'встановлення розміру шрифту' Dim S, SR, Max As Long 'оголошення змінних' Print "Масив А:"
Мах = А(1,1)' присвоєння значення першого елемента змінній Мах
For і = 1 То 2 Forj = 1 То З
S = S + А(і, j) 'розрахунок суми If A(i, j) > Max Then Мах = А(і, j) 'порівнян-
ня значень змінної Мах і значення поточного елемента
Print A(i,j) & ""; 'друкування значення елемента з пробілом Next Print Next Print "Максимальне значення ="; Max Print "Середнє значення ="; Round(S /
6, 2) Print "Сума всіх елементів ="; S
Для кнопки Вихід у процедуру оброблення події додають оператор, який закінчує роботу програми:
End
299

This document is created with trial version of Document2PDF Pilot 2.16.100.
Після виконання програми екранна форма має вигляд, показаний на рисунку
5.4.3.21.
Рисунок 5.4.3.21 - Програма виконання розрахунків у масиві
При створенні динамічних масивів кількість елементів масиву заздалегідь не відома і визначається у процесі виконання пр ограми введенням значення або розрахунком. У такому разі при створенні масиву користуються оператором
Public <ім'я масиву>() As <тип даних>
Після визначення розмірів масиву (наприклад, розмір зберігається у змінній Кої) у програму вводять оператор
ReDim <ім'я масиву>(КоІ)
Нехай, наприклад, в одновимірному масиві треба розрахувати суму елеме н- тів з непарними індексами. Аналогічно розглянутому прикладу у формі створ ю- ють три командні кнопки, які забезпечують введення кількості елементів масиву та їхніх значень, а також розрахунок введених значень і вихід із програми.
Програма має вигляд, показаний на рис унку 5.4.3.22. Екранну форму для роботи з розглядуваним масивом зображено на рисунку 5.4.3.23.
300