Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Компонент ProgressBar

Читайте также:
  1. А где, по-вашему, находятся недостающие компоненты? – спросил Раймок у ученого. – В России у Радзинского?
  2. Антисекреторный компонент Противомикробный компонент
  3. Ацеманнан – компонент алоэ вера
  4. Биополимеры и их структурные компоненты. Липиды.
  5. Большие сети. Технические и программные компоненты расширения сетей. Интеграция локальных и глобальных сетей
  6. В) концентрация компонентов
  7. Виды, компоненты и препараты крови

Компонент Progressbar призначений для відображення значення якого-небудь одного цілочисельного параметра як частини деякого інтервалу. Візуально даний компонент являє собою (див. мал. 1) прямокутник, символізуючий інтервал, причому частина його заповнена синім кольором, що символізує значення параметра.

Мал. 1. Компонент Progressbar

Програмно інтервал задається цілочисельними властивостями Min і Мах компоненту ProgressBar, а значення параметра - цілочисельною властивістю Position:

property Min: Integer;

property Max: Integer;

property Position: Integer;

Заливка області компоненту може відображатися в горизонтальному напрямі зліва направо або у вертикальному – знизу вверх. Метод виводу задається властивістю Orientation, яка може набувати два значення: pbHorizontal (горизонтальне розташування) і pbVertical (вертикальне розташування).

property Orientation: TProgressBarOrientation;

Також за допомогою логічної властивості Smooth підтримується можливість виведення безперервної заливки (значення True), або з прямокутників (значення False).

property Smooth: Boolean;

Для зміни положення заливки під час роботи програми можна використовувати властивість Position, при зміні значення якого компонент автоматично перемалюється, наприклад:

ProgressBar1.Position:= ProgressBar1.Position + 10;

Проте збільшення значення властивості Position є найчастішою операцією над індикатором. Тому в компоненті передбачений метод Steplt, що змінює значення властивості Position на значення, задане цілочисельною властивістю Step:

property Step: Integer;

procedure Steplt;

Якщо властивість Step має від’ємне значення, то значення властивості Position буде зменшено. Для зсуву індикатора на довільне значення можна використовувати метод StepBy:

procedure StepBy(Delta: Integer);

Компонент Chart - побудова діаграм і графіків

Компонентом Chart є область для виведення діаграм і графіків багатьох видів одночасно (див. мал. 2.).

Мал. 2. Компонент Chart

Цей компонент містить наступні візуальні складові:

· фон компоненту з можливістю заповнення градієнтною заливкою;

· заголовок компоненту;

· осі аргументів і значень із заголовками і підписами;

· легенда.

Всі характеристики перерахованих складових, наприклад, стилі ліній, шрифти і заливки, можуть бути настроєні як в процесі візуальної побудови додатку, так і під час його роботи.

Компонент Chart має безліч властивостей і методів, внаслідок чого є дуже гнучким, і реалізує практично всі необхідні для виведення діаграм і графіків функції.

Загальна схема його використання така.

Спочатку компонент поміщається на форму. Після клацання по ньому правою кнопкою миші викликається його допоміжне меню, яке числі інших містить опцію Edit Chart, - за допомогою цієї опції викликається вікно редактора компоненту. Закладка Series цього вікна відкриває доступ до так званих серій - об'єктів класу TChartSeries, які, власне, і відображатимуть набори чисел в графічному вигляді. Щоб відобразити дані, потрібно створити як мінімум одну серію - для цього слід у вікні редактора натиснути кнопку Add і вибрати відповідний тип графіка (мал. 3).

 

Мал. 3. Можливі види графіків компоненту TСhart Мал. 4. Приклад використання компоненту TChart

Після закриття редактора компонент міститиме зразок графіка. Проте його реальний вигляд залежить від фактичних даних, які створюються в працюючій програмі і додаються до серії за допомогою методів AddX, AddY або AddXY об'єкту TChartSeries (дістати доступ до потрібної серії можна за допомогою індексованої властивості Series - перша створена серія має індекс 0, друга 1 і так далі). Наприклад, такий обробник події OnActivate форми створив графік, показаний на мал. 4:

procedure TForm1.FormActivate(Sender: TObject);

Var

k: Integer;

Begin

for k:= 0 to 20 do

Chart1.Series[0].AddXY(k,sin(k*pi/10),'',clRed);

End;

 

4. Зображення геометричних фігур

Для зображення геометричних фігур без їх спеціального програмного промальовування передбачені компоненти Bevel і Shape, розташовані на сторінці Additional. Ці два компоненти, особливо Shape, є, мабуть, найяскравішим прикладом призначення класу TGraphicControl. Вони обидва виконують нескладні дії, виводячи своє зображення на область відображення контейнера, в якому знаходяться, використовуючи свою властивість Canvas і викликаючи методи цього об'єкту.

Відображення розділових рамок. Компонент Bevel

Компонент Bevel призначений для візуального розділення елементів управління на екрані (див. мал. 5) і є тривимірною рамкою - втиснтою або опуклою залежно від властивості Style, яка може набувати двох значеннь:

· bsLowered — лінії компоненту втиснуті;

· bsRaised — лінії компоненту опуклі.

Не дивлячись на те, що компонент Bevel займає місце на екрані відповідно до властивостей Width і Height, як і решта візуальних компонентів, його внутрішня область прозора, а замість рамки може виводитися тільки одна лінія. При цьому, якщо за допомогою властивості Cursor компоненту заданий який-небудь нестандартний курсор, то він відображатиметься у всій внутрішній області.

Мал. 5. Компонент Bevel

Зовнішній вигляд компоненту Bevel визначається властивістю Shape, перерахованого типу (англ. Shape - фігура):

property Shape: TBevelShape;

Type TBevelShape = bsBox, bsFrame, bsTopTine, bsLeftLine, bsRightLine, bsSpacer);

Можливі значення властивості Shape описані в таблиці. 4.

Таблиця 4.

Можливі значення властивості Shape компоненту Bevel

Значення Геометрична фігура, що виводиться
bsBox Компонент обводиться тривимірною рамкою з усіх боків так, що сам виглядає тривимірним
bsFrame Компонент обводиться тривимірною рамкою з усіх боків
bsTopLine Виводиться тільки верхня лінія компоненту
bsLeftLine Виводиться тільки ліва лінія компоненту
bsRightLine Виводиться тільки права лінія компоненту
bsSpacer Компонент обводиться пунктирною лінією

Зображення графічних примітивів. Компонент Shape

Для зображення графічних примітивів призначений компонент Shape, що виводить на екран різні геометричні фігури залежно від властивості Shape перераховуваного типу:

property Shape: TShapeType;

Type TShapeType = (stRectangle, stSquare, stRoundRect, stRoundSquare, stEllipse, stCircle);

Можливі значення властивості Shape описані в таблиці 5.

Таблиця 5.

Можливі значення властивості Shape компоненту Shape

Значение Вид компонента
stCircle Круг
stEllipse Еліпс
stRectangle Прямокутник (значення встановлюється за замовчуванням)
stSquare Квадрат
stRoundRect Прямокутник з заокругленими краями
StRoundSquare Квадрат з заокругленими краями

Всі фігури, що виводяться компонентом Shape, мають стиль лінії і заливку, що встановлюються, відповідно, властивостями Рen і Brush:

property Pen: TPen;

property Brush: TBrush;

Якщо за допомогою властивості Brush встановлена заливка, відмінна від bsSolid (суцільна заливка), то компонент стає частково або повністю (якщо стиль заливки bsClear) прозорим.

5. Виведення складної графічної інформації

Delphi підтримує:

· вивід на екран зображень, що прочитуються з графічних файлів, за допомогою компоненту Image (сторінка Additional Палітри компонентів);

· виведення відеокліпів, що прочитуються з avi-файлів, які не використовують стискування зображення, за допомогою компоненту Animate (сторінка Win32);

Виведення зображень з графічних файлів

Компонент image і має зручний для розробника механізм налаштування. Після розташування компоненту Image на формі зображення, яке слід вивести на екран завантажується за допомогою відповідного діалогу в Інспекторі об'єктів. Після цього зображення зберігається у файл форми і доступне при подальшій роботі з проектом без початкового графічного файлу. Діалог викликається при спробі редагування властивості Picture:

property Picture: TPicture;

Під час роботи програми зображення може бути завантажене з файлу викликом методу LoadFromFile властивості Picture:

Image1.Picture.LoadFromFile('fantasy.jpg');

Властивості компоненту Image направлені на управління зображенням в межах прямокутника, що охоплює, компонент і надають можливість центрування зображення (властивість Center), а також його розтягування (властивість Stretch):

property Center: Boolean;

property stretch: Boolean;

Якщо розмір зображення перевищує розміри прямокутника компоненту, що охоплює, а властивість Stretch має значення False, то зображення буде урізане.

Для контролю пропорційної зміни ширини і висоти зображення при розтягуванні передбачена властивість Proportional, указиваюшєє, чи (значення True) слід зберігати початкове співвідношення ширини і висоти:

Property Proportional: Boolean;

Якщо дана можливість використовується, то зображення збільшується до того моменту, коли його ширина або висота досягнуть, відповідно, ширини або висоти прямокутника компоненту, що охоплює.

 

Виведення відеокліпів

Компонент Animate аналогічний компоненту Image, але на екран виводиться не просто зображення з графічного файлу, а відеокліп, назва файлу з яким зберігається у властивості FileName:

property FileName: String;

Кліп, на відміну від зображення компоненту Image, не зберігається разом з формою, оскільки може мати значний розмір, тому під час виконання програми файл, на який указує властивість FileName, має бути присутнім на диску.

Властивість FileName також може бути змінена під час виконання програми, що викличе завантаження файлу з кліпом, або виключну ситуацію, якщо такого файлу не існує, або його формат не відповідає підтримуваному компонентом Animate:

Animate1.FileName:= 'C:\Windows\clock.avi';

Для автоматичного запуску кліпу після старту програми використовується властивість Active:

property Active: Boolean;

Кліп буде програно, якщо дана властивість має значення True, інакше для запуску кліпу слід встановити таке значення програмно або скористатися методами компоненту Animate, описаними нижче.

Відтворення починається з кадру, номер якого знаходиться у властивості StartFrame. і триває до кадру, номер якого знаходиться у властивості StopFrame. При завантаженні файлу значення цих властивостей автоматично встановлюються в мінімально і максимально можливі значення, тобто будуть відтворені всі кадри ролика. Далі, кліп може бути програний ще кілька разів, залежно від значення цілочисельної властивості Repetitions. Якщо дана властивість має нульове значення, то кількість повторень буде нескінченною.

Для програмного управління відтворенням кліпу використовуються методи Play (програти кліп), Reset (повернутися на початок кліпу), Seek (переміститися на заданий кадр) і Stop (зупинити відтворення). Метод Play програє кліп в інтервалі кадрів, заданому параметрами FromFrame і ТoFrame, кілька разів відповідно до параметра Count:

Procedure Play(FromFrame, ToFrame: Word; Count: Integer);

Метод Stop зупиняє відтворення і не має параметрів:

Procedure Stop;

Застосування методів Reset і Seek має сенс при використанні властивості Active замість методів Play і Stop. Метод Seek робить поточним кадр, заданий параметром Frame, а метод Reset робить поточним перший кадр анімації:

Procedure Seek(Frame: SmallInt);

Procedure Reset;

 

Завдання 1. Створити проект для демонстрації викорстання контейнерів та компонентів для відображення інформації.

· На головній формі розмістити компонент PageControl в якому створити три сторінки;

· Задати заголовки сторінок: «Зміна розташування», «Світлофор», «Графік»;

· Розмістити на першій сторінці дві панелі. На одній розмістити групу залежних перемикачів для задання розміщення(верх, низ, зліва, зправа), на іншій розмістити мітку яка буде змінювати своє положення в залежності від вибраного перемикача;

· На другій сторінці розмістити світлофор створений за допомогою компонентів Shape та групу перемикачів для задання активного кольору світлофора. Розділити компоненти за допомогою компонента Bevel. При виборі певного кольору світлофора повинен засвічуватись відповідний ліхтар, а інші повинні гаснути;

· На третій сторінці розмістити компонент Chart та групу перемикачів для вибору функції. При виборі функції повинен виводитись відповідний графік на певному проміжку. Проміжок вибирається довільний.

· Передбачити обмеження на розміри, щоб унеможливити вихід компонентів за межі форми.

Завдання 2. Оформити звіт у якому вказати наступну інформацію:

· перелік компонентів(назви змінних) які використовувались у проекті, та їх призначення;

· для кожного компоненту вказати властивості які змінювались на етапі візуального конструювання форми і записати їх значення.

 

Зразки форм та дерево компонентів подано нижче.


Дата добавления: 2015-07-11; просмотров: 133 | Нарушение авторских прав


Читайте в этой же книге: Облік малоцінних та швидкозношуваних предметів | Документ Передача малоцінних активів в експлуатацію | Документ Переміщення малоцінних активів з експлуатації | Документ Списання малоцінних активів з експлуатації | Звіти з обліку МШП | Завдання 4 |
<== предыдущая страница | следующая страница ==>
Загальний опис| Завдання до лабораторної роботи

mybiblioteka.su - 2015-2024 год. (0.014 сек.)