- відгук на зміну в тексті;
- керування доступом у тексті (наприклад, доступ «тільки для читання» або символи паролю, що роблять невидимими символи, що вводяться).
Деякі властивості компоненту Edit (разом із типами) [1]:
- AutoSelect. Тип — Boolean. Вказує, чи буде виділятися весь текст у момент отримання компонентом фокуса вводу;
- BorderStyle. Тип — TBorderStyle. Визначає стиль обрамлення компоненту: bsNone– немає обрамлення; bsSingle– компонент обрамляється однією лінією;
- MaxLength. Тип — Integer. Визначає максимальну довжину текстового рядка. Якщо має значення 0, то довжина рядку не обмежена;
- PasswordChar. Тип — Char. Якщо символ PasswordCharвизначений, то він замінює собою будь-який символ тексу при відображенні у вікні. Використовується для воду паролів;
- ReadOnly. Тип — Boolean. Якщо значення властивості дорівнює True, то текст не може змінюватись;
- OEMConvert. Тип — Boolean. Містить True, якщо необхідно перекодувати текст із кодування MS-DOSдо кодування Windowsта назад.
Label — це позначки, що спеціально призначені для відображення тексту. Компонент Label відображає текст, що не редагується, який зберігається у властивості Caption. Текст вирівнюється у межах компоненту одним із трьох способів: по лівому краю, по правому краю а по центру. Спосіб вирівнювання визначається властивістю Alignment. Якщо текст напису занадто великий, то можна організувати його вивід у декілька рядків (з перенесенням слів). Для цього достатньо встановити властивість WordWrap у значення True [8].
Ще одна зручна можливість — автоматичне налаштування розмірів компоненту по ширині ті висоті вікна. Вона контролюється властивістю AutoSize та за замовчуванням ввімкнена.
Фон напису можна зробити прозорим, встановив властивість Transparent у значення True. Такий напис можна винеси поверх графічного зображення.
За допомогою компоненту Label часто створюються підказки до інших компонентів, зокрема до полів вводу. При цьому властивість Caption містить не тільки текст, але й «гарячу» клавішу, при виборі якої активізується зв’язаний з написом компонент. Цей компонент вказується у властивості FocusControl.
Найпростішою та, мабуть, найбільш частіше використовуваною кнопкою є кнопка Button.
Основна властивість кнопки з точки зору зовнішнього вигляду — властивість Caption (напис). Основна подія — OnClick, що виникає при натисканні на кнопку. Саме в обробнику цієї події записуються оператори, що повинні виконуватись при натисканні користувача по кнопці.
Властивість Cancel, якщо її встановити у true, визначає, що натискання користувачем клавіші Esc буде еквівалентно натисканню на дану кнопку. Властивість Default, якщо її встановити у true, визначає, що натискання користувачем клавіші вводу Enterбуде еквівалентно натисканню на дану кнопку, навіть якщо ця кнопка у цей момент не знаходиться у фокусі. Правда, якщо у момент натискання Enter у фокусі знаходиться інша кнопка, то все ж таки спрацює саме ця кнопка [3].
Із методів, притаманних кнопці, має сенс відмітити тільки один — Click. Виконування цього методу еквівалентно натисканню на кнопці, тобто викликає подію кнопки OnClick. Саме цим можна скористатися, щоб продублювати якимось іншими діями користувача натискання на кнопці. Наприклад:
if (key='C' or key='c') then Button1.Click;
Ця умова значить, що якщо користувач ввів символ «С» або «с», то у результаті буде виконаний обробник натискання кнопкиButton1.
GroupBox багато в чому схожий зі звичайною панеллю. Він призначений для групування схожих за змістом компонентів. Текст із властивості Caption виходить не посередині панелі, а зверху, створюючи таким чином заголовок цієї панелі. При переміщенні GroupBox будуть переміщуватися і всі компоненти, що розволожені на ньому [10].
Рисунок 3 – Компонент GroupBox та CheckBox на ньому
CheckBox — це перемикач, що використовується для установки параметрів, що характеризуються двома значеннями: "Так" і "Ні" (True и False).
Звичайно перемикач має два стана: увімкнений та вимкнений. Поточний стан визначається значенням властивості Checked. Якщо воно дорівнює значенню True, то перемикач увімкнений, інакше — вимкнений. Буває, що перемикач має ще й третій стан — невизначений (grayed). У цьому стані перемикач замальовується сірим кольором.
Характерні властивості цього компоненту:
- Alignment (визначає, з якої сторони від перемикача знаходиться текст: taRightJustify — праворуч, taLeftJustify — зліва);
- AllowGrayed (якщо дорівнює True, то перемикач має три стана);
- Caption (текст поруч із перемикачем);
- Checked (визначає, чи увімкнений перемикач);
2.2.5 PaintBox
Компонент PaintBox використовується для малювання не на всій формі, а у обмеженому прямокутнику. Цей компонент розміщається на формі у вигляді прозорого пунктирного квадрату, і в його межах можна малювати. Малювання виконується звертанням до властивості Canvas (графічна канва) цього компоненту: PaintBox1.Canvas. У нього, в свою чергу, є властивість Pixels (PaintBox1.Canvas.Pixels), яке представляє собою матрицю, двомірний масив заданого розміру — поточений образ канви, де кожен елемент — окрема точка. У Pixels[] відлік точок (пік селів екрану) починається з 0.
Координати x та yвідраховуються від верхнього лівого кута, тобто він вважається за точку з координатами (0, 0). Для конкретної точки вказується колір. Функція RGB() формує клір комбінацією інтенсивності червоного, зеленого та синього (інтенсивність задається числом від 0 до 255). Наприклад: чорний — RGB(0,0,0), червоний — RGB(255,0,0), синій — RGB(0,0,255), білий — RGB(255,255,255) [9].
Компоненти ComboBox та ColorBox забезпечують вибір із списку. ComboBoxвідображає списки рядків, ColorBox — список кольорів.
ComboBoxдозволяє також редагувати дані та відображати список як у розгорнутому вигляді, так і у вигляді випадаючого вікна, що звичайно зручніше, так як це заощаджує площу вікна додатку.
Основна властивість компоненту, що містить список рядків, — Items, що має типTStrings. Заповнити його під час проектування можна, натиснувши на кнопку з багатокрапкою біля цієї властивості у вікні Інспектора Об’єктів.
Стиль зображення цього компоненту визначається властивістю Style, що може приймати наступні основні значення [4]:
– csDropDown (випадаючий список з рядками однакової висоти та вікном редагування, що дозволяє користувачеві вводити або редагувати);
– csSimple (розгорнутий список з рядками однакової висоти та з вікном редагування, що дозволяє користувачеві вводити або виводити текст);
– csDropDownList (випадаючий список з рядками однакової висоти, що не містить вікна редагування).
Вибір користувача або введений текс можна визначити по значенню властивості Text. Якщо ж треба визначити індекс елементу списку, що вибраний користувачем, то можна скористатися властивістю ItemIndex. Якщо початкове значення не задано, то у момент запуску додатку користувач не побачить у вікні компоненту одне із можливих значень.
Властивість MaxLength визначає максимальну кількість символів, які користувач може ввести у вікно редагування.Якщо MaxLength = 0, то кількість символів, що вводиться, не обмежено.
Властивість Sorted дозволяє впорядкувати список за абеткою. При Sorted= trueнові рядки у список додаються не у кінець, а за абеткою.
КомпонентTimer дозволяє задавати у додатку інтервали часу. Таймер знаходить численне застосування у: синхронізації мультиплікації, закритті деяких вікон, з якими користувач довгий час не працює, увімкнення хранителя екрану, завдання часу на відповідь у навчальних програмах — все це безліч задач, в яких вимагається задавати інтервали часу, вирішується за допомогою таймеру.
Таймер — це не візуальний компонент, який може розміщуватись у будь-якому місці форми. Він має дві властивості, що дозволяють їм керувати: Interval — інтервал часу у мілісекундах та Enabled — доступність. Властивість Interval задає період спрацьовування таймеру. Через заданий інтервал часу таймер спрацьовує, викликаючи подіюOnTimer. В обробнику цієї події записуються необхідні операції.
Якщо необхідно у деякій процедурі запустити таймер, що відлічив би заданий інтервал, наприклад, 5 секунд, після чого треба виконати деякі операції та вимкнути таймер, це можна зробити наступним чином. При проектуванні таймер робиться доступним (Enabled = true), але властивість Interval задається порівнюваним 0. Таймер не буде працювати, доки у момент, коли треба запустити таймер, не буде виконатися оператор [7].
Timer1.Interval:= 5000;Через 5 секунд після цього наступить подія OnTimer. В її обробнику треба задати оператор, що відключить таймер, після чого можна виконувати необхідні операції:
Timer1.Interval:= 0;Таймер точно витримує задані інтервали Interval, якщо вони достатньо великі — сотні та тисячі мілісекунд. Якщо ж задавати інтервали довжиною десятки або одиниці мілісекунд, то реальні інтервали часу виявляються знатно більше внаслідок різноманітних накладних витрат, що пов’язані із викликами функцій та іншими обчислювальними аспект.
Меню — це не візуальний компонент, який у додатку представляє собою список об’єднаних за функціональною ознакою пунктів, кожен із яких визначає команду або вкладене меню (підменю). Вибір пункту меню відповідає виконанню заданої команди або розкриттю підменю.
Існує два виду меню [5]:
– головне меню (MainMenu) — компонент, призначений для керування працею усього додатку. При роботі додатку воно розташовується у верхні частині форми під заголовком та містить найбільш загальні команди роботи;
– спливаюче меню (PopupMenu) — може визначатися для будь-якого об’єкту. Воно також містить команди, але вони, як правило, відносяться до відповідного об’єкту. У додатку спливаюче меню викликається натисканням по правій кнопці миші у момент, коли вказівник миші наведений на відповідний об’єкт. Таке меню ще називається контекстним, оскільки до нього входять ті команди, які можна виконувати над конкретним об’єктом у конкретний час.