ЛЕКЦІЯ (Група 3-А, ІМФТО)
Тема: «Візуальні компоненти мови Delphi».
Мета: ознайомлення з бібліотекою візуальних компонентів мови Delphi; формування знань щодо властивостей деяких візуальних компонентів, основні з яких розташовані на сторінках Standard, Additional, Win32; розгляд і аналіз програм із застосуванням візуальних компонентів.
Обладнання та методичне забезпечення: комп’ютери ІВМ РС-сумісні, програмне забезпечення, презентація Power Point, демонстраційні програми на мові Delphi.
План
Бібліотека візуальних компонентів.
Властивості деяких візуальних компонентів сторінок Standard, Additional, Win32.
Основний зміст
Бібліотека візуальних компонентів
Компоненти поділяються на дві групи:
візуальні компоненти, кожен з яких відповідає якомусь видимому об’єкту чи елементу керування: кнопка, поле введення, смуга прокручування, перемикачі тощо;
невізуальні компоненти – об’єкти, яких не видно у вікні програми, однак вони дають змогу виконувати різні дії, наприклад, відтворювати музику, відсилати листи електронною поштою, звертатися до ресурсів OC Windows тощо.
Бібліотека візуальних компонентів (Visual Component Library, VCL) містить велику кількість класів, що призначені для швидкої розробки додатків. Бібліотека написана на Object Pascal і безпосередньо пов’язана із інтегрованим середовищем розробки додатків Delphi. Незважаючи на назву, у VCL містяться головним чином невізуальні компоненти, проте є й візуальні, а також інші класи, починаючи з абстрактного класу TObject. При цьому всі компоненти є класами, але не всі класи є компонентами.
В
TGraphicControl
TWinControl
сі класи VCL розташовані на певному рівні ієрархії й утворюють дерево (ієрархію) класів. Знання походження об’єкта значно допомагає під час його вивчення, так як нащадки наслідують всі елементи (поля, властивості і методи) об’єкта-батька. Так, наприклад, якщо властивість Caption належить класу TControl, то ця властивість буде і у його нащадків, наприклад, у класів TButton TCheckBox, і в його компонентів – кнопки Button й прапорця CheckBox відповідно. Фрагмент ієрархії класів з найважливішими класами продемонстровано на рис. 1.
Рис. 1. Фрагмент ієрархії класів
Клас TObject – спільний нащадок усіх класів Object Pascal – знаходиться в кореневищі ієрархії. Цей клас є абстрактним й реалізує найбільш спільні для всіх класів-нащадків методи, найважливішими з яких є:
Create (створення об’єкта);
Destroy (видалення об’єкта);
Free (видалення об’єкта, створеного методом Create, при цьому викликається метод Destroy).
Більшість цих методів переозначуються у класах-нащадках. Коротко охарактеризуємо найважливіші класи-нащадки TPersistent, TComponent і TControl, до яких відносяться більшість загальних властивостей, методів й подій, і які, в свою чергує також породжують певні класи.
Клас TPersistent є абстрактним класом для тих об’єктів, властивості яких завантажуються з потоку і в потоці зберігаються. Механізм потоків використовується під час роботи з пам’яттю (зазвичай, дисковою або оперативною). На додаток до методів класу TObject, клас TPersistent володіє методом Assign, який забезпечує передачу властивостей одного об’єкта іншому.
Клас TComponent є базовим класом для всіх компонентів і на доповнення до методів своїх нащадків володіє засобами, завдяки яким компоненти можуть володіти іншими компонентами. У результаті під час встановлення на форму будь-який компонент буде належати іншому компонентові (зазвичай, формі). При створенні компонента клас TComponent забезпечує автоматичне створення всіх компонентів, що йому належали, а під час видалення цього компонента всі компоненти, що йому належали, також автоматично видаляються.
Від класу TComponent походять візуальні та невізуальні компоненти. Деякі невізуальні компоненти породжені безпосередньо класом TComponent, наприклад, таймер (Timer).
Відмітимо деякі властивості і методи класу TComponent.
Властивості класу TComponent:
Components (список компонентів, що належать класу);
ComponentCount (число компонентів, що належать класу);
ComponentIndex (номер компонента в списку компонентів, що належать класу);
ComponentState (стан поточного компонента);
Name (ім’я компонента);
Owner (володар компонента);
Tag (ціле значення, що зберігається разом з компонентом).
Методи класу TComponent:
DestroyComponents (руйнує всі компоненти, що належать класу);
Destroying (повідомляє компонент, що належить класу про його руйнування);
FindComponent (знаходить компонент у списку Components).
Клас TControl є базовим класом для візуальних компонентів (елементів керування) і забезпечує основні засоби для їхнього функціонування, в тому числі прорисовку на екрані.
Приклад
unit Box;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, F< Dialogs, StdCtrls;
type
TForml = class(TForm)
ListBoxl: TListBox;
ComboBoxl: TComboBox;
Labell: TLabel;
procedure ListBoxlClick(Sender: TObject);
procedure ComboBoxlChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations } end;
var
Forml: TForml;
implementation
{$R *.dfm}
unit Box; 5
interface 5
uses 5
type 5
var 5
Forml: TForml; 5
implementation 5
end; 6
end. 6
end;
procedure TForml.ComboBoxlChange(Sender: TObject);
begin //3MiHa Kojihopy nojix
Mu&c/gy ^c^ibo^'-*/
Forml.color:= StringToColor(ComboBoxl.Items[ComboBoxl.Itemlndex]); ComboBoxl.color:= StringToColor(ComboBoxl.Items[ComboBoxl.Itemlndex]) end;
end.
2) Властивості деяких візуальних компонентів сторінок Standard, Additional, Win32
Для створення інтерфейсу додатків система Delphi пропонує великий набір візуальних компонентів, основні з яких розташовані на сторінках Standard, Additional, Win32 Палітри компонентів. Їх називають стандартними, додатковими й 32-розрядними (введеними у Windows 95) компонентами відповідно.
Такий розподіл сторінок походить скоріше з назви сторінок, ніж з їхнього функціонального призначення або важливості. Оскільки межа між стандартними й додатковими елементами управління доволі нечітка. Так, наприклад кнопки Button i BitBtn, що розташовані на різних сторінках, несуттєво відрізняються за функціями.
Рис. 2. Сторінка Standard Палітри компонентів
На сторінці Standard (рис. 2) Палітри компонентів знаходяться інтерфейсні компоненти, більшість з яких використовувалася ще в перших версіях Windows (властивості яких з них ми розглянули на попередній лекції).
Рис. 3. Сторінка Additional Палітри компонентів
На сторінці Additional (рис. 3) Палітри компонентів розташовані компоненти, що дозволяють зробити гарнішим користувацький інтерфейс програми. Серед них:
BitBtn (кнопка з малюнком і визначеним типом дії). Властивості: Glyph – малюнок з файлу на кнопці (адреса файлу задається у діалоговому вікні. Стандартний набір файлів з малюнками для кнопок знаходиться у папці C:\ Program Files \ Borland \ Delphi x.0 \ Images \ Buttons; Kind – тип стандартної дії. Є декілька типів кнопок BitBtn, при виборі яких кнопка набуває певного вигляду: bkClose (закриває вікно), bkOk (кнопка „Так” діалогового вікна), bkCansel (кнопка „Відмінити” діалогового вікна) тощо. Ці кнопки не програмують. Для кнопок типу BitBtn можна задати такі ж самі властивості та події, як і для звичайної кнопки.
SpeedButton (кнопка швидкого доступу) – кнопка, на поверхні якої розташована картинка (glyph1). Використовується, наприклад, для створення кнопки панелі інструментів. Стандартний набір файлів з малюнками для кнопок знаходиться у папці C:\ Program Files \ Borland \ Delphi x.0 \ Images \ Buttons. Властивості: Margin – відстань у пікселях між малюнком і найближчим до нього краєм кнопки (-1 – малюнок з текстом центрується; 8 – вісім пікселів між краєм кнопки і малюнком); Layout – взаємне розташування малюнка і тексту на кнопці (blGlyphLeft – малюнок біля лівої межі, текст справа; blGlyphRight – навпаки); Spacing – відстань у пік селях між малюнком і текстом.
Image (графічне зображення-картинка). Компонент, призначений для вставляння картинок з файлів типу *.bmp, *.ipg, *.jpeg, *.emf, *.ico, *.wmf у форму. Окрім відомих властивостей, він має ще такі: Picture – можливість вибрати у файловій системі деякий графічний файл у bmp-форматі і відобразити його на формі; Stretch –ознака автоматичного масштабування – розтягування або стиснення – картинки у відповідності з реальним розміром компонента; Center – вирівнювання малюнка до центру відносно поля, що його містить; AutoSize – приведення розміру об’єкта до реальних розмірів зображення. Бібліотека 16color, з якої можна брати картинки для об’єкта Image, знаходиться за замовчуванням у папці C:\ Program Files \ Borland \ Delphi x.0 \ Images \ Splash \ 16color.
Shape (геометрична фігура) – використовується для відображення на формі найпростіших графічних об’єктів, наприклад, кола, квадрата, еліпса тощо. Властивості:
|