Кожен компонент має свої властивості. Керувати ними ми можемо безпосередньо з панелі Object Inspector ще у процесі моделювання нашої аплікації. Але, на щастя, це не єдиний спосіб керувати властивостями компонента, оскільки середовище дозволяє програмне керування компонентами. Всі властивості, які ми задаємо у вкладці дизайну форм можна змінювати программно, наприклад, для компоненти TLabel ми можемо змінити поле Caption, зробивши це так: Label1.Caption:='MyLabelName”, або змінити текст, який міститься у компоненті TEdit: Edit1.Text:=”Input Text Here”. Та зміна інформації, яку несе компонента, не єдині властивості, які ми можемо змінити. Ми можемо редагувати ще позицію компоненти, її розміщення, доступність, розміри, тощо. Так, наприклад, щоб деактивувати компоненту TButton достатньо написати Button1.Enabled:=False, і наша кнопка стане недоступною. Чи, якщо ми хочемо приховати компоненту TMemo: Memo1.Visible:=False.
Робити такі операції ми можемо як і у FormCreate, так і у іншій процедурі, яка описує певну подію, це залежить від умов та завдання. Як бачимо, програмне керування компонентами є не більш складне ніж керування з дизайнеру форм, воно широко розповсюджене і набагато простіше.
TForm
Стиль форми задається одним з значень наступної властивості:
TFormStyle = [fsNormal, fsMDIChild, fsMDIForm, fsStayOnTop]; fsNormal - звичайне вікно; fsMDIChild - дочірнє вікно програми MDI; fsMDIForm - головне вікно MDI; fsStayOnTop - вікно, яке залишається поверх інших навіть у неактивному стані.
Набір піктограм в заголовку вікна описується властивістю: (Рb) property Borderlcons: TBorderIcons; TBorderIcon = (biSystemMenu, biMiniinize, biMaximize); TBorderIcons = set of TBorderIcon; За замовчуванням у звичайної форми є всі три піктограми - для виклику системного меню, розгортання і згортають вікна. Обрамлення форми задається властивістю: (Pb) property BorderStyle: TFormBorderStyle; TFormBorderStyle = (bsNone, bsSingle, bsSizeable, bsDialog); Крім двох стандартних стилів обрамлення (bsNone і bsSingle) у форми є ще два своїх типу (bsSizeable і bsDialog). Ці можливості стандартні для Windows. Особливості реалізації тут полягають у тому, що стиль обрамлення може змінюватися в процесі виконання програми. Кожне вікно може перебувати в одному із станів - нормальному, згорнутому (мінімізованому) і розгорнутому (максимізована), що визначається властивістю: property WindowState: TWindowState; TWindowState = [wsNormal, wsMinimized, wsMaximized); Значення цієї властивості можна змінити як на етапі розробки, так і під час виконання. Вікно в згорнутому стані на екрані відображається значком форми, який задається у властивості: (Pb) property Icon: TIcon;
TLabel
Для відображення різних написів на формі використовують компонент TLabel.
Тексти визначаються значенням їх властивості Caption. Його можна встановлювати в процесі проектування або задавати і змінювати програмно під час виконання програми. Наприклад: Label1.Caption: = 'Новий текст'; У всіх компонентах колір фону визначається властивістю Color, а колір напису - підвластивістю Color властивості Font. Розміщення всіх розглянутих компонентів на формі визначається, зокрема, властивостями Тор (координата верхнього краю), Left (координата лівого краю), Height (висота), Width (ширина). Є також властивості, що визначають зміну розміру компонента при зміні користувачем під час виконання програми розмірів вікна. Це загальні властивості всіх віконних компонентів: Align (вирівнювання компонента по всій верхній, лівою, правою, нижньої частин контейнера або по всій його клієнтської області), Anchors (прив'язка сторін компонента до сторін контейнера), Constraints (обмеження допустимих змін розмірів). Врахуйте, що використання у властивості Anchors одночасної прив'язки компонента до протилежних сторонах контейнера призведе до розтягування або стиснення компонента при зміні користувачем розмірів вікна. У мітці Label є властивість Wordwrap - допустимість переносу слів довжиноюю запису, що перевищує довжину компонента, на нову сходинку. Щоб такий перенос міг здійснюватися, треба встановити властивість WordWrap в true, властивість AutoSize в false (щоб розмір компонента не визначався розміром напису) і зробити висоту компонента такою, щоб у ньому могло поміститися кілька рядків.