Label, statictext і panel - відображення тексту - інтернет підручник c builder

Для відображення різних написів на формі використовуються в основному компоненти Label. StaticText і Panel. Перші два з цих компонентів мітки, спеціально призначені для відображення текстів. Основне призначення панелі Panel - компоновка компонентів у вікні форми, проте можна використовувати і для виведення текстів.

Тексти, які відображаються в компонентах, визначаються значенням їх властивості Caption. Його можна встановлювати в процесі проектування або задавати і змінювати програмно під час виконання програми. наприклад:

Label1-> Caption = "Новий текст";

Властивість Caption має тип рядка AnsiString. При присвоєнні цього типу числової інформації відбувається її автоматичне перетворення в рядок. Тому ви можете безпосередньо здійснювати подібні присвоювання. наприклад:

Оператор призведе до появи в мітці написи «5,1». Але якщо ви хочете занести в мітку змішану інформацію, що складається з рядків символів і чисел, ви повинні скористатися функціями FloatToStr і IntToStr. переводять відповідно числа з плаваючою комою і цілі в рядок. Для формування тексту, що складається з декількох фрагментів, можна використовувати операцію "+", яка для рядків означає їх склеювання (конкатенацію). Наприклад, якщо в програмі є ціла змінна I, що відображає число співробітників деякої організації, то вивести в мітку Label1 інформацію про це можна оператором:

Label1-> Caption = "Число співробітників:" + IntToStr (I);

У всіх компонентах колір фону визначається властивістю Color. а колір напису подсвойством Color властивості Font. Якщо колір спеціально не ставити, то колір фону зазвичай зливається з кольором контейнера, що містить мітку, так що фон просто не помітний.

Для мітки Label колір і шрифт - єдино доступні елементи оформлення напису. Компоненти StaticText і Panel мають крім того властивість Border - Style. визначальне рамку тексту - бордюр. При стилі sbsNone мітка StaticText по увазі не відрізняється від мітки Label. Ймовірно, якщо вже використовувати бордюр, то найбільш приємний стиль sbsSunken.
Компонент Panel крім властивості BorderStyle має ще властивості Bevellnner, BevelOuter, BevelWidth, BorderWidth. які надають багаті можливості оформлення напису. Таким чином, з точки зору оформлення тексту, що виводиться максимальні можливості дає Panel і мінімальні Label.

Розміщення будь-яких текстових компонентів на формі визначається, зокрема, властивостями Top, Left, Height, Width, Aline. загальними для всіх віконних компонентів. Ці властивості, що визначають координати компонента, його розміри і їх зміна при зміні користувачем розмірів батьківського компонента.

Розмір міток Label і StaticText визначається також властивістю AutoSize. Якщо це властивість встановлено в true, то вертикальний і горизонтальний розміри компонента визначаються розміром написи. Якщо ж AutoSize одно false, то вирівнювання тексту всередині компонента визначається властивістю Alignment. яке дозволяє вирівнювати текст по лівому краю, правому краю або центру клієнтської області мітки. В панелі Panel також є властивість AutoSize. але воно не відноситься до розмірів написи Caption. Однак властивість вирівнювання Alignment працює і для панелі.

У мітці Label є властивість WordWrap - допустимість перенесення слів довгою написи, що перевищує довжину компонента, на нову сходинку. Щоб таке перенесення міг здійснюватися, треба встановити властивість WordWrap в true, властивість AutoSize в false (щоб розмір компоненту не визначався розміром написи) і зробити висоту компонента такий, щоб в ньому могло поміститися кілька рядків. Якщо WordWrap не встановлено в true при AutoSize рівному false, то довгий текст, що не міститься в рамці мітки, просто обрізається.

У мітці StaticText перенесення довгого тексту здійснюється автоматично, якщо значення AutoSize встановлено в false і розмір компонента достатній для розміщення декількох рядків. Для того щоб в StaticText здійснювався перенос при зміні користувачем розмірів вікна, треба здійснювати описану вище перерисовку компонента методом Repaint в обробнику події форми OnResize. В панелі розміщення напису в декількох рядках неможливо.

Можна відзначити ще одну властивість міток Label і StaticText. перетворює їх на деяку подібність керуючих елементів. Це властивість FocusControl - фокусна компонент. Якщо у властивості мітки Caption помістити перед одним із символів символ амперсанд "", то символ, перед яким поставлено амперсанд, відображається в написи мітки підкресленим (сам амперсанд взагалі не відображається). Якщо після цього звернутися до властивості мітки FocusControl. то зі списку можна вибрати елемент, на який буде переключатися фокус, якщо користувач натисне клавіші прискореного доступу клавішу Alt + підкреслений символ. Подібні клавіші прискореного доступу передбачені в керуючих елементах: розділах меню і кнопках. Завдяки властивості FocusControl мітки можуть забезпечити клавішами прискореного доступу інші елементи, наприклад, вікна редагування, в яких такі клавіші не передбачені. Тільки для того, щоб клавіші прискореного доступу в мітках спрацьовували, необхідно встановити властивість ShowAccelChar в true.
Для відображення текстової інформації, і навіть з додатковою можливістю прокрутки довгих текстів, можна використовувати також вікна редагування Edit і MaskEdit в режимі Readonly.