Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Elementi_Delphi_for_stud.doc
Скачиваний:
1
Добавлен:
20.11.2019
Размер:
339.97 Кб
Скачать

Поле введення Edit

Компонент Edit розташований на сторінці Standard. Він дозволяє в процесі виконання додатку вводити з клавіатури і редагувати введений або відображений текст. При цьому підтримуються операції: переміщення курсора по рядку з використанням клавіш управління курсором, видалення символів за допомогою клавіш BackSpace і Delete. Однорядковий редактор не реагує на натиснення клавіш Enter і Esc.

Такі властивості компоненту Edit як Constraints, Enabled, Font, Height, Left, Name, PopupMenu, ShowHint, Visible, Width аналогічні однойменним властивостям компоненту Button.

Основні властивості, специфічні для компоненту Edit:

Властивість

Призначення

AutoSize

При true висота поля автоматично підстроюється під текст

BorderStyle

Стиль бордюру

Color

Колір поля

PasswordChar

Символи для виводу у вікно замість тексту пароля

ReadOnly

Текст редактора – тільки для читання

Text

Текст, що відображається або вводиться

Радіокнопка RadioButton

Компонент RadioButton розташований на сторінці Standard. Радіокнопки, згруповані разом, служать для демонстрації варіантів вибору, доступних користувачеві. У групі радіокнопок тільки одна кнопка може бути вибрана. При виборі однієї з кнопок решта всіх кнопок однієї групи стає невибраними. Властивість Checked визначає, чи вибрана дана кнопка користувачем, чи ні. Зміна цієї властивості з false на true проводиться при виборі радіокнопки клацанням на невибраній радіокнопці; при цьому генерується подія OnClick. Радіокнопка може реагувати на всі ті ж події, що і Button.

У радіокнопки є властивість Caption, що містить пов'язаний з нею текст.

Функції перетворення

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

Функція

Значення функції

Chr(n) IntToStr (k)

Символ, код якого рівний n Рядок, що є зображенням цілого до

FloatToStr (n)

Рядок, що є зображенням дійсного n

FloatToStrF(n, f, k,m)

Рядок, що є зображенням дійсного n. При виклику функції указують: f – формат (спосіб зображення); k – точність (потрібна загальна кількість цифр); m – кількість цифр після десяткової крапки

StrToInt (s)

Ціле, зображенням якого є рядок s

StrToFloat (s)

Речове, зображенням якого є рядок s

Round (n)

Ціле, отримане шляхом округлення n по відомих правилах

Trunc (n)

Ціле, отримане шляхом відкидання дробової частини n

Frac(n)

Дріб, є дробовою частиною речового n

Int (n)

Дріб, є цілу частина речового n

 

Меню

У Delphi є два компоненти, що представляють меню: MainMenu – головне меню, і PopupMenu – спливаюче меню. Обидва компоненти розташовано на сторінці Standard.

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

Додати до меню нові пункти можна під час розробки або під час виконання додатку. При виборі пункту меню ініціюється подія OnClick, в обробнику якого і передбачаються необхідні дії.

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

Зазвичай на форму поміщається один компонент MainMenu. В цьому випадку його ім'я автоматично заноситься у властивість форми Menu. Але можна помістити на форму і декілька компонентів MainMenu з різними наборами розділів, відповідними різним режимам роботи додатку. В цьому випадку під час проектування властивості Menu форми привласнюється посилання на один з цих компонентів. А в процесі виконання в потрібні моменти цю властивість можна змінювати, міняючи відповідно склад головного меню застосування.

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

Оскільки в додатку може бути декілька контекстних меню, то і компонентів PopupMenu може бути декілька. Віконні компоненти: панелі, вікна редагування, а також мітки і ін. мають властивість PopupMenu, яка за умовчанням порожня, але куди можна помістити ім'я того компоненту PopupMenu, з яким буде пов'язаний даний компонент. Одне і теж контекстне меню можуть розділяти (використовувати) декілька компонентів.

Конструювання меню

Компонент меню має вбудований розробник – Menu Designer. З його допомогою можна створювати основне і спливаюче меню.

Для створення меню треба помістити на форму компонент MainMenu або PopupMenu. Потім треба викликати конструктор меню одним із способів:

-   перейти в Інспектор об'єктів; натиснути в рядку «Items» сторінки властивостей на кнопку з багатокрапкою;

-  двічі клацнути кнопкою миші на об'єкті меню, розміщеному на формі.

Вид конструктора меню представлений на наступному малюнку:

У вікні конструктора меню відображається рядок для першого пункту меню, ім'я якого можна вводити. Допускається використання кириличного шрифту. Потрібно написати ім'я пункту або підменю і натиснути клавішу Enter. Під першим ім'ям з'являється порожній рядок для введення імені пункту підменю, а праворуч від введеного імені – порожній рядок для введення імені наступного пункту основного меню.

Конструктор меню має спливаюче меню, яке забезпечує швидкий доступ до його найбільш часто використовуваним командам. Для виклику спливаючого меню треба у вікні конструктора меню натиснути праву клавішу миші або Alt+F10. Вид спливаючого меню конструктора меню представлений на наступному малюнку:

Призначення пунктів спливаючого меню конструктора меню:

Пункт

Призначення

Insert

Додати пункт меню

Delete

Видалити пункт меню

Great SubMenu

Створити підменю

Select Menu.

Вибрати пункт меню

Save As Template.

Зберегти як шаблон

Insert From Template.

Включити шаблон

Delete Templates.

Видалити шаблони

Insert From Resource.

Включити з ресурсів

 OnClick – це подія, на яку реагує метод пункту меню. Для написання методу, який повинен виконатися при виборі даного пункту меню, треба двічі клацнути на вибраному пункті меню в розробнику меню. При цьому з'явиться вікно початкового тексту із заготівкою для методу: його заголовком і операторами begin і end, між якими слід розмістити операторів методу.

Кожен створений пункт меню – це об'єкт, до якого є доступ з Інспектора об'єктів. Перейти до тексту існуючого методу можна за допомогою Інспектора об'єктів. Під час конструювання меню задаються імена пунктів (Caption) меню – це той текст, який бачить користувач. П умовчанню об'єкту в програмі будуть привласнені імена (Name): N1, N2 і так далі Ці імена можна змінювати.

У списку пунктів вертикального підменю або спливаючого меню можна вставити розділові горизонтальні лінії. Для цього як ім'я пункту треба використовувати символ «– » (мінус). Конструктор форм дозволяє переміщати елементи меню, вставляти пункти підміню і видаляти їх.

Рядок стану

Рядок стану (статусний рядок) є компонентом, для відображення поточної інформації про вміст вікна, контекстні підказки по поточному пункту меню, кнопці, панелі, дату, час і ін. Рядок стану, як правило, вирівняний по нижньому краю головного вікна додатку. Його можна створити на базі компоненту Panel (панелі). Крім того, в Delphi на сторінці Win32 є спеціальний компонент StatusBar для формування рядка стану.

Компонент Panel

Компонент Panel розташований на сторінці Standard. З допомогою цього компоненту можна скомпонувати різні елементи інтерфейсу такі, як кнопки, поля введення, списки, радіокнопки і ін. І, як було сказано вище, компонент Panel застосовується для створення рядка стану.

Основні властивості компоненту Panel

Властивість

Призначення

BevelInner

стиль внутрішньої частини панелі

BevelOuter

стиль зовнішньої частини панелі

BevelWidth

ширина зовнішньої частини панелі

BorderStyle

стиль бордюру

BorderWidth

ширина бордюру

Компонент StatusBar

Компонент StatusBar розташований на сторінці Win32 і є рядком стану, який може мати одну або декілька панелей для виведення текстової інформації. Зазвичай цей рядок розміщується внизу форми.

Властивість SimplePanel визначає, чи включає смуга стану одну або декілька панелей. Якщо SimplePanel = true, то вся смуга стану є єдиною панеллю, текст якої задається властивістю SimpleText. Якщо ж SimplePanel = false, то смуга стану є набором панелей, що задаються властивістю Panels. В цьому випадку властивість SizeGrip визначає, чи може користувач змінювати розміри панелей в процесі виконання застосування.

Щоб створити в рядку стану декілька панелей, треба викликати редактор панелей одним із способів:

-  клацанням на багатокрапці властивості Panels;

-  подвійним клацанням на компоненті;

-  за допомогою команди Panels Editor із спливаючого меню компоненту.

З'являється вікно із заголовком Editing StatusBar1.Panels (Редактор панелей компоненту StatusBar1). Його вигляд представлений на наступному малюнку:

Для створення декількох панелей потрібно клацнути на піктограмі або викликати контекстне меню редактора і виконати його команду Add. З'явиться додаткова панель з ім'ям Panel[0]. При повторному виконанні цієї команди – Panel[1] і так далі Щоб набудувати властивості панелей необхідно в редакторові панелей вибрати одну з панелей. У вікні Object Inspector відобразяться властивості вибраної панелі.

Основна властивість кожної панелі – Text, в який заноситься текст, що відображається в панелі. Його можна занести в процесі проектування, а потім можна змінювати програмно під час виконання. Інша істотна властивість панелі – Width (ширина).

Основні властивості компоненту StatusBar

Властивість

Призначення

Text

Текст, що відображається в панелі

Alignment

Задає спосіб вирівнювання тексту щодо меж панелі. Воно може мати одне з наступних значень:

-  taLeftJustify – по лівому краю (за умовчанням)

-  taCenter – по центру

-  taRightJustify – по правому краю

Bevel

Визначає вид панелі, може мати одне з наступних значень:

-  pbNone – панель має плоский вигляд

-  pbLowered – панель поглиблена (за умовчанням)

-  pbRaised – панель підведена

Style

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

-  psText – на панель виводиться тільки текст з властивості Text

-  psOwnerDraw – на панель програмно виводиться текстова і графічна інформація

Width

Ширина панелі (за умовчанням для всіх панелей окрім останньої Width=50). Остання панель займає вільне місце рядка стану, що все залишилося

AutoHint

Вивід в нульову панель рядка стану підказки компоненту, на якому знаходиться курсор миші

Панелі рядка стану можна настроювати під час розробки застосування і з програми в процесі виконання додатку.

Багаторядкові редактори Memo і RichEdit

Багаторядкові редактори призначені для введення і форматування тексту в процесі виконання додатку. Багаторядкові редактори схожі по своїх властивостях з компонентом Edit, але відрізняються тим, що дозволяють працювати з багаторядковим текстом. Компонент Memo розташований на сторінці Standard, компонент RichEdit – на сторінці Win32. Основні властивості багаторядкових редакторів:

Властивість

Призначення

Lines

У Інспекторові об'єктів – для створення тексту редактора

ScrollBars

Для визначення наявності смуг прокрутки тексту

MaxLength

Максимально допустима кількість символів, що вводяться користувачем. За умовчанням 0, і довжина тексту не обмежена

WantReturns

Дозвіл введення нового рядка від натиснення клавіші Enter

WantTabs

Дозвіл вводити в текст символи табуляції

WantWrap

Допустимість перенесення для довгих рядків

Основна властивість багаторядкових редакторів – Lines (типу TStrings) містить текст вікна у вигляді списку рядків. Початковий текст можна ввести в процесі розробки застосування. Для цього треба вибрати властивість Lines і клацнути в області його значення. З'явиться вікно String List Editor, в яке можна занести текст.

В процесі виконання застосування можна:

-  вводити текст з файлу за допомогою методу LoadFromFile; наприклад:

Memo1.Lines.LoadFromFile(’examp1.txt’);

-  зберігати текст з вікна в текстовому файлі за допомогою методу SaveToFile, наприклад:

Memo2.Lines.SaveToFile(’examp2.txt’);

-  заносити або прочитувати текст з рядка із заданим номером за допомогою властивостей Lines і Strings[Index:Integer]. Початковий номер рядка дорівнює 0. Наприклад:

Memo1.Lines.Strings[0]:=’Пример1’;

Memo1.Lines[1]:=’Пример2’;

-  додати рядок у вікно можна за допомогою методу Add або Append, наприклад:

Memo1.Lines.Add(’Прімер3’);

Багаторядкові редактори мають ті ж можливості редагування тексту, що і однорядковий Edit, але містять ряд рядків. У них передбачено виділення тексту і типові поєднання «гарячих клавіш»:

Ctrl+C, Ctrl+Ins – копіювання виділеного тексту в буфер ClipBoard;

Ctrl+X – вирізування виділеного тексту в буфер ClipBoard;

Ctrl+Del – видалення виділеного тексту;

Ctrl+V, Shift+Ins – вставка тексту з буфера ClipBoard;

Ctrl+Z – відміна останньої команди редагування.

Для доступу до всього вмісту редактора використовується неопублікована в Інспекторові об'єктів властивість Text типу string. Для роботи з окремими рядками – властивість Lines типу Strings.

Основним призначенням багаторядкових редакторів є введення і зміна тексту як користувачем з клавіатури, так і за допомогою тексту програми. Але їх можна використовувати і для відображення нередагованого тексту.

У компоненті Memo формат (шрифт, вирівнювання) однаковий для всього тексту і визначається його властивістю Font. Компонент RichEdit працює у форматі RTF. Для зміни формату тексту, що вводиться, треба помістити на форму компонент FontDialog – діалогу вибору шрифту. Потім в процесі виконання застосування з тексту програми підключити для компоненту RichEdit властивість SelAttributes – вибору атрибутів шрифту методом Assign.

Компоненти стандартних діалогів

На сторінці Dialogs палітри компонентів знаходяться піктограми 11 компонентів, що реалізовують стандартні діалоги загального призначення, які використовуються в застосуваннях Windows при відкритті і збереженні файлів, виборі шрифтів і ін. Всі діалоги є невізуальними компонентами, тому місце їх розміщення на формі не має значення. При зверненні до цих компонентів викликаються стандартні діалоги, вид яких залежить від версії Windows і настройки системи. Отже при запуску одного і того ж застосування на комп'ютерах з різними системами діалоги виглядатимуть по-різному.

Основний метод, яким проводиться звернення до будь-якого діалогу, – Execute. Ця функція відкриває діалогове вікно і, якщо користувач провів в нім якийсь вибір, то функція повертає true. При цьому у властивостях компоненту-діалогу запам'ятовується вибір користувача, якого можна прочитати і використовувати в подальших операціях. Якщо ж користувач в діалозі натиснув кнопку Відміна або клавішу Esc, то функція Execute повертає false. Тому стандартне звернення до діалогу має вигляд:

if <ім'я компоненту-діалогу>.Execute then <оператори, що використовують вибір користувача>;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]