ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.09.2024
Просмотров: 32
Скачиваний: 0
AB
|
|
|
F |
|
|
|
D |
|
|
Y |
P |
B |
Y |
|
|
|
|
||
|
|
|
|
w |
Click |
||
|
|||
|
|
w |
|
|
|
|
w. |
|
|
|
A |
r |
ansf |
|
||
T |
|
|||
|
|
|
or |
|
|
|
|
m |
|
|
|
|
|
e |
|
|
|
buy |
r |
|
|
|
0 |
|
|
|
|
|
2 |
|
|
to |
|
. |
here |
|
|
||
|
o |
m |
||
|
|
|
||
|
|
|
.c |
|
BBYY |
|
Wordwrap
|
|
|
|
|
F |
|
|
|
|
|
D |
|
|
|
Y |
P |
|
|
B |
Y |
|
|
|
B |
|
|
|
||
|
|
|
|
||
|
|
|
|
|
|
A |
|
|
|
|
|
|
w |
|
Click |
||
|
|
|
|||
|
|
|
w |
|
|
Ознака того, що слова, які не поміщаються в поточному |
|||||
|
|
|
|
|
w. |
|
|
|
|
|
A |
рядку, автоматично переносяться на наступний рядок(значення властивості Autosize повинно бути false)
|
|
r |
|
|
|
T ansf |
|
||||
|
|
|
|
or |
|
|
|
|
|
m |
|
|
|
|
|
|
e |
|
|
|
|
buy |
r |
|
|
|
|
0 |
|
|
|
|
|
|
2 |
|
|
|
to |
|
. |
|
here |
|
|
||
|
|
|
|
||
|
|
|
|
|
m |
|
|
|
|
o |
|
B |
|
|
.c |
|
|
BYY |
|
||||
|
|
|
|
|
|
Якщо поле Label повинно містити декілька рядків тексту, то перш ніж ввести в
поле текст (змінити значення властивості Caption), потрібно привласнити властивості
Autosize значення false а властивості wordwrap — true. Потім треба встановити необхідний розмір поля(за допомогою миші або введенням значень властивостей
Height і width) і лише після цього ввести значення властивостіCaption.
У форму застосування, що розробляється, треба додати чотири компоненти Label. Поле Label1призначено для виведення інформаційного повідомлення, поля
Label2 і Labels — для виведення інформації про призначення полів введення, поле Label4 — для виведення результату розрахунку(величини струму в ланцюзі). Після
додавання компонентів треба виконати їх налаштування— встановити значення властивостей (таблиця. 2.6). Прочерк в таблиці означає, що значення властивості залишене без зміни або встановлене автоматично— наприклад, як результат зміни
іншої властивості. В результаті форма застосування, що розробляється, повинна виглядати так, як показано на мал. 2.15.
Таблиця 2.6. Значення властивостей компонентів Label1 — Label4
|
|
|
|
|
|
|
|
|
|
|
|
Властивість |
|
Компонент |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Label1 |
|
Label2 |
|
Label3 |
|
Label4 |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
Autosize |
|
false |
|
true |
|
true |
|
fablse |
|
|
|
|
|
|
|
|
|
|
|
|
|
Wordwrap |
|
true |
|
false |
|
false |
|
true |
|
|
|
|
|
|
|
|
|
|
|
|
|
Caption |
|
Введіть напругу і величину |
|
Напруга |
|
Опір (Ом) |
|
|
|
|
|
опору, потім клацніть на |
|
|
|
|
|
|||
|
|
|
(вольт) |
|
|
|
|
|||
|
|
|
кнопці Обчислити |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Тор |
|
8 |
|
56 |
|
80 |
|
112 |
|
|
|
|
|
|
|
|
||||
|
Left |
|
8 |
|
8 |
|
8 |
|
8 |
|
|
|
|
|
|
|
|
||||
|
Height |
|
33 |
|
16 |
|
16 |
|
16 |
|
|
|
|
|
|
|
|
||||
|
Width |
|
300 |
|
120 |
|
120 |
|
200 |
|
|
|
|
|
|
|
|
|
|
|
|
Мал. 2.15. Вид форми після додавання і налаштування полів виведення тексту
15
AB
|
|
|
F |
|
|
|
D |
|
|
Y |
P |
B |
Y |
|
|
|
|
||
|
|
|
|
w |
Click |
||
|
|||
|
|
w |
|
|
|
|
w. |
|
|
|
A |
Tran |
sf |
|
|
|
|
|
|
|
|
|
|
F Tran |
sf |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|||||
|
|
|
or |
e |
|
|
|
|
Y |
P |
|
|
|
or |
e |
||||
|
|
|
|
m |
|
|
B |
Y |
|
|
|
|
|
|
|
m |
|||
|
|
buy |
|
r |
|
B |
|
|
|
|
|
buy |
r |
||||||
|
|
|
2 |
|
|
|
|
|
|
|
2 |
||||||||
|
|
|
0 |
|
|
|
|
|
|
|
|
0 |
|||||||
|
to |
|
|
|
|
. |
|
A |
|
|
|
|
|
|
to |
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
here |
|
|
|
|
|
|
|
|
|
|
|
|
here |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
m |
Останнє, що треба зробити на етапі створення форми— це додати у формуwдвіClick |
|
|
|
|
m |
||||||||
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
||||
|
|
|
|
o |
командні кнопки: Обчислити і Завершити. Призначення цих кнопок очевидне. |
|
|
|
w. |
|
|
|
|
o |
|||||
|
|
|
c |
|
|
|
|
|
|
|
|
|
c |
|
|||||
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|||
BBYY |
|
|
|
|
|
|
|
|
|
|
|
A B BYY |
|
|
|
Командна кнопка — компонент Button — додається у форму точно так, як і інші компоненти. Значок компоненту Button знаходиться на вкладціStandard (мал. 2.16).
Основні властивості компонентуButton приведені в таблиці. 2.7.
Мал. 2.16. Командна кнопка — компонент Button
Після додавання до форми двох командних кнопок потрібно встановити значення їх властивостей у відповідності таблиці. 2.7.
Таблиця 2.7. Властивості компоненту Button (командна кнопка)
|
|
|
|
|
|
|
Властивість |
|
Опис |
|
|
|
|
|
|
|
|
|
Name |
|
Ім'я компоненту. Використовується в програмі для доступу до |
|
|
|
|
компоненту і його властивостей |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Caption |
|
Текст на кнопці |
|
|
|
|
|
|
|
|
|
|
|
Ознака доступності кнопки. Кнопка доступна, якщо значення |
|
|
|
Enabled |
|
властивості рівне true і недоступна, якщо значення властивості |
|
|
|
|
|
рівне false |
|
|
|
|
|
|
|
|
|
Left |
|
Відстань від лівої межі кнопки до лівої межі форми |
|
|
|
|
|
|
|
|
|
Тор |
|
Відстань від верхньої межі кнопки до верхньої межі форми |
|
|
|
|
|
|
|
|
|
Height |
|
Висота кнопки |
|
|
|
|
|
|
|
|
|
Width |
|
Ширіна кнопки |
|
|
|
|
|
|
|
|
Після додавання до форми двох командних кнопок потрібно встановити значення їх властивостей відповідно до таблиці. 2.8.
Остаточний вид форми застосування, що розробляється, приведений на мал.
2.17.
16
AB
|
|
|
|
|
F Tran |
sf |
|
|||
|
|
|
|
D |
|
|
|
|||
|
|
Y |
P |
|
|
|
|
or |
e |
|
B |
Y |
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
buy |
r |
|||
|
|
|
|
|
|
|
2 |
|||
|
|
|
|
|
|
|
|
0 |
||
|
|
|
|
|
|
|
to |
|
|
. |
|
|
|
|
|
|
here |
|
|
|
|
|
|
|
|
Click |
|
|
|
|
||
w |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|
||||
|
|
w |
w. |
|
|
|
|
o |
||
|
|
|
|
|
|
|
. |
|
||
|
|
|
|
|
A BBYY |
c |
|
|||
|
|
|
|
|
|
|
AB
|
|
|
|
|
F Tran |
sf |
|
|||
|
|
|
|
D |
|
|
|
|||
|
|
Y |
P |
|
|
|
|
or |
e |
|
B |
Y |
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
buy |
r |
|||
|
|
|
|
|
|
|
2 |
|||
|
|
|
|
|
|
|
|
0 |
||
|
|
|
|
|
|
|
to |
|
|
. |
|
|
|
|
|
|
here |
|
|
|
|
|
|
|
|
Click |
|
|
|
|
||
w |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|
||||
|
|
w |
w. |
|
|
|
|
o |
||
|
|
|
|
|
|
|
. |
|
||
|
|
|
|
|
A B BYY |
c |
|
|||
|
|
|
|
|
|
|
Мал. 2.17. Остаточний вид форми програми "Сила струму"
Завершивши роботу над формою, можна приступити до створення програми. Але
перед цим розглянемо два важливі поняття: подію і функцію обробки події.
|
Таблиця 2.8. Значення властивостей компонентів Button1 |
і Button2 |
|||||
|
|
|
|
|
|
|
|
|
Властивість |
|
Компонент |
|
|
||
|
|
|
|
|
|
|
|
|
|
Button1 |
|
|
Button2 |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|||
|
Caption |
|
Обчислити |
|
|
Завершити |
|
|
|
|
|
|
|
|
|
|
Тор |
|
144 |
|
|
144 |
|
|
|
|
|
|
|
|
|
|
Left |
|
16 |
|
|
104 |
|
|
|
|
|
|
|
|
|
|
Height |
|
25 |
|
|
25 |
|
|
|
|
|
|
|
|
|
|
Width |
|
75 |
|
|
75 |
|
|
|
|
|
|
|
|
|
2.2 Подія і функція обробки події
Вид створеної форми підказує, як працює додаток. Очевидно, що користувач
повинен ввести в поля редагування початкові дані |
і |
клацнути |
мишею |
на кноп |
Обчислити. Клацання на зображенні командної кнопки— |
це |
приклад |
того, що |
в |
Windows називається подією. |
|
|
|
|
Подія (Event) — це те, що відбувається під час роботи програми. У C++ Builder
кожній події привласнено ім'я. Наприклад, клацання кнопкою миші — це подія Onclick подвійне клацання мишею — подія OnDblClick.
У таблиці. 2.9 приведені деякі події Windows.
Таблиця 2.9. Події
17
AB
|
|
|
F |
|
|
|
D |
|
|
Y |
P |
B |
Y |
|
|
|
|
||
|
|
|
|
w |
Click |
||
|
|||
|
|
w |
|
|
|
|
w. |
|
|
|
A |
r |
ansf |
|
|
||
T |
|
|
|||
|
|
|
or |
|
|
|
|
|
m |
||
|
|
|
|
|
e |
|
|
|
buy |
|
r |
|
|
|
0 |
||
|
|
|
|
2 |
|
|
|
to |
|
. |
|
here |
|
|
|
||
|
|
|
|
||
|
|
|
o |
m |
|
|
|
|
.c |
|
|
BBYY |
|
|
|||
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F Tran |
sf |
|
|
|||||
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|||
|
|
|
|
|
|
Y |
P |
|
|
|
|
|
|
or |
e |
||
|
|
|
|
B |
Y |
|
|
|
|
|
|
|
|
|
|
m |
|
|
|
|
B |
|
|
|
|
|
|
|
|
buy |
r |
||||
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
||||
|
|
|
A |
|
|
|
|
|
|
|
|
|
to |
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
here |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Подія |
|
Відбувається |
|
w |
|
Click |
|
|
|
|
|
|
|
m |
|||
|
|
|
|
|
|
|
|
|
|
c |
|||||||
|
|
|
|
|
|
w |
w. |
|
|
|
|
|
. |
o |
|||
OnClick |
|
|
|
|
|
|
|
|
A B BYY |
|
|
|
|||||
|
При клацанні кнопкою миші |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OnDblClick |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
При подвійному клацанні кнопкою миші |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OnMouseDown |
|
При натисненні кнопки миші |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OnMouseUp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
При відпуску кнопки миші |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OnMouseMove |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
При переміщенні миші |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OnKeyPress |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
При натисненні клавіші клавіатури |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
При |
натисненні |
клавіші |
клавіатури. Події |
Onkeydown і |
|
OnKeyDown |
|
Onkeypress |
— це події, що |
чергуються, повторюються, які |
|
||
|
відбуваються до тих пір, поки не буде відпущена утримувана |
|
|||||
|
|
|
|||||
|
|
клавіша (у цей момент відбувається подія Onkeyup) |
|
|
|||
OnKeyUp |
|
|
|
|
|||
|
При відпуску натиснутої клавіші клавіатури |
|
|
||||
|
|
|
|
|
|
||
OnCreate |
|
При |
створенні |
об'єкту(форми, елементу |
управління). |
|
|
|
Процедура обробки цієї події зазвичай використовується |
для |
|||||
|
|
ініціалізації змінних, виконання підготовчих дій |
|
|
|||
|
|
|
|||||
|
|
При появі вікна на екрані на початку роботи програми; під |
|
||||
OnPaint |
|
час роботи програми після появи вікна(або його частини), яке |
|
||||
|
|
було закрите іншим вікном або згорнуте |
|
|
|||
OnEnter |
|
|
|
|
|||
|
При отриманні елементом управління фокусу |
|
|
||||
OnExit |
|
|
|
|
|||
|
При втраті елементом управління фокусу |
|
|
Реакцією |
на |
подію |
має бути |
яка-небудь . діяУ C++ Builder |
реакція |
на подію |
реалізується |
як |
функція |
обробки |
події. Таким чином, для того, щоб |
програма |
|
виконувала деяку роботу у відповідь на дії користувача, програміст |
повинен написати |
функцію обробки відповідної події. Слід звернути увагу на ,тещо значну частину обробки подій бере на себе компонент. Тому програміст повинен розробляти функцію обробки події тільки в тому випад, якщоу реакція на подію відрізняється від
стандартної або не визначена. Наприклад, якщо по умові завдання обмежень на
символи, що вводяться в полеEdit немає, то процедуру обробки подіїonkeypress
писати не треба, оскільки |
під час |
роботи |
програми буде використана стандартна |
(прихована від програміста) процедура обробки цієї події. |
|||
Методику створення |
функцій |
обробки |
подій розглянемо на прикладі функції |
обробки події OnClick для командної кнопки Обчислити.
Щоб приступити до створення функції обробки події, спочатку треба вибрати компонент, для якого створюється функція обробки події. Вибрати компонент можна у вікні Object Inspector або клацанням на зображенні компоненту у формі. Після цього у вікні Object Inspector потрібно вибрати вкладку Events (Події).
У лівій колонці вкладки Events (мал. 2.18) перераховані події, які може сприймати вибраний компонент (ім'я і тип компоненту вказані у верхній частині вікна). Якщо для
події визначена функція обробки, то в правій колонці поряд з ім'ям події буде виведено
ім'я цієї функції.
18
AB
|
|
|
F |
|
|
|
D |
|
|
Y |
P |
B |
Y |
|
|
|
|
||
|
|
|
|
w |
Click |
||
|
|||
|
|
w |
|
|
|
|
w. |
|
|
|
A |
Tran |
sf |
|
|
|
|
|
|
|
|
|
F Tran |
sf |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|||||
|
|
|
or |
e |
|
|
|
Y |
P |
|
|
|
|
or |
e |
||||
|
|
|
|
m |
|
B |
Y |
|
|
|
|
|
|
|
|
m |
|||
|
|
buy |
|
r |
B |
|
|
|
|
|
|
buy |
r |
||||||
|
|
|
2 |
|
|
|
|
|
|
|
2 |
||||||||
|
|
|
0 |
|
|
|
|
|
|
|
|
0 |
|||||||
|
to |
|
|
|
|
. |
A |
|
|
|
|
|
|
|
to |
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
here |
|
|
|
|
|
|
|
|
|
|
|
|
here |
|
|
|
|
||
|
|
|
|
|
Для того, щоб створити функцію |
|
|
|
|
|
Click |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
обробки події, потрібно зробити подвійне |
|
|
|
m |
|||||||||
|
|
|
|
|
m |
|
w |
|
|
|
|
|
|
|
|
||||
|
|
|
|
o |
|
|
|
|
w |
|
|
|
|
|
|
o |
|||
|
|
|
c |
|
клацання мишею у вікніObject Inspector у полі функції обробки відповідної події(мал. |
|
|
|
c |
|
|||||||||
|
|
. |
|
|
|
|
|
|
|
|
w. |
|
|
. |
|
|
|||
BBYY |
|
|
|
|
|
|
|
|
|
|
A B BYY |
|
|
|
2.19). В результаті цього відкриється вікно редактора коду, в яке буде доданий шаблон функції обробки події, а у вікні Object Inspector поряд з ім'ям події з'явиться ім'я функції обробки події, що згенерувало C++ Builder (мал. 2.19).
Мал. 2.18. На вкладці Events перераховані події, які може сприймати компонент (в даному випадку — командна кнопка)
Мал. 2.19. Шаблон функції обробки події, C++ Builder, що згенерував
C++ Builder привласнює функції обробки події ім'я, яке складається з двох частин. Перша частина імені ідентифікує форму, що містить об'єкт(компонент), для якого
19