Розробка форм

Найважливіші терміни

Форма

Вікно, призначене для простого введення даних і показу цих даних на екрані комп’ютера.

Джерело даних форми

Таблиця бази даних або запит, у яких містяться дані, показані на формі. Джерело даних потрібне, оскільки самі форми є лише інструментами для показу і введення даних, джерелом же даних є таблиці і запити. У нових щойно створених форм немає призначених джерел даних, отже у них не буде показано ніяких даних з вашої бази даних аж доти, доки ви не пов’яжете з формою певне джерело даних.

Поле форми

Прямий аналог стовпчика у таблиці або запиті. Найчастіше поля використовують для показу тексту і чисел. Введення нового значення або зміна існуючого значення такого поля призводить до зміни у відповідному стовпчику таблиці або запиту (після підтвердження зміни).

Компонування форми

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

Віджет форми

Елемент форми. Основними типами віджетів є:

  • Віджети, призначені для показу інформації, наприклад, поле для показу тексту або зображення. Кожен з віджетів такого типу можна пов’язати з певним полем джерела даних (стовпчиком таблиці або запиту). Тому такі віджети скорочено називаються полями форми.

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

  • За допомогою інших віджетів можна збагатити вигляд форми, наприклад, «віджет лінії» може візуально відокремити дві області форми.

Віджет контейнера

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

Порівняння форм з таблицями

У розділі Введення даних до таблиць ми навчилися вводити дані безпосередньо до таблиць за допомогою панелі перегляду аркуша даних. Але здебільшого форми є придатнішими для введення даних:

  • У таблиці може бути багато стовпчиків: показ всіх цих стовпчиків на екрані буде неможливим. У формі такі дані може бути показано за допомогою декількох рядків.

  • За допомогою форми можна візуально поділити поля даних на логічні групи з метою полегшення прийняття. На форму можна додати мітки з додатковими відомостями, які нададуть користувачам змогу легше зрозуміти способи користування формою та призначення полів даних.

  • Кнопками команд форм можна скористатися для виконання найпоширеніших команд. Користувачі таких форм зможуть працювати з ними як зі знайомими окремими програмами.

На панелі перегляду аркуша даних показати рядки даних з текстом полів або зображення так само просто, як і на формах.

Робота з компонуванням форм

Під час розробки таблиці або запиту ви зможете користуватися двома режимами перегляду: Перегляд даних і Перегляд дизайну. Компонування форми виконується у режимі Перегляду дизайну. Ми будемо називати вікно дизайну форми Дизайнером форми.

  1. Щоб створити порожню форму, натисніть пункт Форма на панелі інструментів. Якщо ви хочете, ви можете скористатися пунктом Створити об’єкт: Форма контекстного меню панелі Навігація проєктом.

  2. Програма відкриє нову панель. Змінити розміри форми можна за допомогою пересування меж панелі. Форму буде вкрито сіткою для полегшення точного розташування віджетів.

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

Вкладка «Властивості»

Містить список властивостей для поточного вибраного віджета.

Вкладка «Джерело даних»

Містить властивості, пов’язані безпосередньо з джерелом даних поточного позначеного віджета або самої форми.

Вкладка «Віджети»

Містить ієрархію всіх віджетів форми. За допомогою списку спрощується пошук віджетів за назвою та навігація між ними.

Буде показано відомості щодо назви і типу поточного позначеного віджета на першій і другій вкладці.

Доступні також додаткові панелі інструментів:

  • Панель інструментів Віджети призначено для додавання нових віджетів на форму. Натисніть кнопку Компонування форм, щоб побачити її.

Користування вкладкою «Віджети»

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

Для кожного з віджетів буде показано назву і тип. Для позначення типу буде також використано піктограм (ту саму, яку було показано на кнопці панелі інструментів, яку ви натискали, щоб додати відповідний віджет під час компонування).

Примітка

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

  • Утримування натиснутою клавіші Ctrl під час позначення пунктів у списку віджетів надасть вам змогу позначити декілька віджетів одночасно. Якщо утримувати натиснутою клавішу Shift, можна позначати послідовності віджетів у списку.

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

Додавання віджетів — текстові поля

Давайте створимо форму з відомостями щодо осіб, тобто форму, пов’язану з таблицею Persons

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

  1. Натисніть кнопку Текстове поле на панелі інструментів Віджети.

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

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

  4. Натисніть кнопку Текстове поле ще раз, а потім наведіть вказівник миші на поверхню форми і клацніть лівою кнопкою миші, щоб вставити ще один віджет. Повторіть цю процедуру ще раз так, щоб на вашій формі опинилося три додаткових поля для введення тексту. Для простоти ми обмежимося роботою з п’ятьма полями даних.

Примітка

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

  • За допомогою пунктів Вирізати, Копіювати і Вставити можна пересувати або копіювати віджети між формами, навіть між окремими проєктами баз даних.

  • Утримування натиснутою клавіші Ctrl під час клацання кнопкою миші надає змогу позначати декілька віджетів одразу.

  • Окрім використання пунктів меню Копіювати і Вставити для дублювання віджета на одній формі, ви можете натиснути і утримувати натиснутою клавішу Ctrl, а потім пересунути віджет. Після відпускання кнопки миші перетягнутий віджет не буде пересунуто, а скопійовано у нову позицію.

Визначення джерел даних

Для вставлених вами полів ще не призначено джерела даних, отже у цих полях не може бути показано даних з бази даних. Щоб призначити джерело даних, скористайтеся вкладкою (Джерело даних) редактора властивостей.

На першому кроці слід вказати джерело даних форми, тобто вказати сховище даних звідки слід брати показані дані Як ми вже раніше згадували, нам слід скористатися таблицею persons як джерелом даних для нашої нової форми

  1. Наведіть вказівник миші на вікно форми і клацніть лівою кнопкою миші, так само, як під час зміни його властивостей.

  2. Перемкніться на вкладку (Джерело даних) і введіть назву таблиці persons (особи) у спадний список Джерело даних форми. Крім того, ви можете просто обрати цю назву зі спадного списку.

Отже ми призначили джерело даних форми. Тепер нам треба визначити джерело даних віджетів.

  1. Наведіть вказівник миші на перший з віджетів текстових полів у верхній частині форми і клацніть лівою кнопкою миші.

  2. На вкладці (Джерело даних) панелі властивостей введіть назву поля name (ім’я) у спадному списку Джерело даних віджета. Крім того, ви можете обрати цю назву зі спадного списку.

  3. Натисніть наступне поле тексту і введіть у поле джерела даних surname (прізвище).

  4. Введіть джерела даних для текстових полів street (вулиця), house_number (номер будинку) і city (місто) у подібний же спосіб.

Тепер можна зберегти компонування форми (випробовувати форму у дії не обов’язково). Щоб зберегти компонування, натисніть кнопку панелі інструментів Зберегти. У процесі зберігання програма попросить вас ввести назву форми. Введіть Persons у поле підпису і натисніть кнопку Гаразд. Поле назви форми буде заповнено автоматично.

Настав час перевірити нашу форму у дії. Натисніть кнопку панелі інструментів Дані. Якщо під час введення даних ви не помилилися, ви побачите поля форми, заповнені даними з таблиці persons.

Примітка

  • Якщо ви бажаєте вилучити прив’язку джерела даних до віджета форми, натисніть кнопку у правій частині рядка Джерело даних віджета. У такий самий спосіб ви можете вилучити прив’язку до джерела даних.

  • Скористайтеся натисканням кнопки (Перейти до вибраного джерела даних форми), щоб вибрати відповідну таблицю або запит на панелі Навігації проєктом. Таким чином, ви зможете швидко відкрити таблицю або запит, який буде джерелом даних форми.

Додавання текстових міток

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

Додайте на форму три віджети текстових міток, розташувавши їх ліворуч від полів для введення тексту (або праворуч, якщо у вашій операційній системі використовується лівописне компонування) Після додавання нової мітки на формі з’являтиметься курсор у місці, куди слід вводити текст Послідовно введіть мітки: Name (ім’я), Surname (прізвище) та Street (вулиця). Крім того, у верхній частині форми додайте ще одну мітку, яка визначатиме назву форми, тобто Persons. Збільшіть розміри цієї мітки та розмір шрифту її тексту за допомогою пункту меню Шрифт вкладки Властивості.

Дії

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

Призначення дій до кнопок форми

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

Для призначення дії:

  1. Перемкніть програму у режим перегляду Компонування, якщо ви ще цього не зробили.

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

  3. Наведіть вказівник миші на віджет кнопки і клацніть правою кнопкою миші для відкриття контекстного меню.

  4. З контекстного меню оберіть пункт Призначити дію....

  5. У відповідь програма відкриє діалогове вікно Призначення дії для кнопки, де буде показано список можливих дій. Якщо для віджета вже було призначено дію, один з пунктів дій у цьому списку буде позначено. Якщо ж дії ще не було призначено, у спадному списку Категорія дії буде позначено пункт Без типу.

  6. У спадному списку Категорія дії виберіть пункт Дії програми. У відповідь програма покаже список можливих дій програми.

  7. Виберіть одну з дій зі списку (наприклад, Вилучити позначений об’єкт).

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

Примітка

  • Щоб вилучити прив’язку дії, оберіть пункт Без дії у спадному списку Категорія дії діалогового вікна Призначення дії для кнопки.

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

Компонування віджетів

Віджети форми варто розташувати зручно для користувача та вирівняти. Розташування, вирівнювання і зміна розмірів віджетів вручну не є простою справою. Ці параметри віджета не коригуватимуться, коли користувач змінюватиме розміри форми. Фактично, стан справ ще гірший, оскільки ви не зможете передбачити потрібний для віджетів простір за умови, що на комп’ютері користувача буде встановлено інші розміри шрифтів і іншу роздільну здатність екрана.

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

Використання компонування покращує вирівнювання елементів форми. Крім того, краще використовується площа форми. Текстові поля наближаються одне до одного, інтервали стають однорідними.

Правила розмірів для віджетів у компонуванні

Замість встановлення для віджетів фіксованого розміру у Kexi ви можете скористатися одним з декількох правил встановлення розмірів віджетів. Правила розмірів — це гнучка стратегія керування способом розтягування (або стискання) віджета залежно від розміру і розташування сусідніх віджетів і доступного місця на формі.

Після додавання віджетів розміри рядка буде змінено так, щоб у нього вмістився видимий текст віджета.

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

Ця група властивостей містить:

Правила горизонтальних розмірів

визначення горизонтального розміру віджета,

Правила вертикальних розмірів

визначення вертикального розміру віджета,

Горизонтальне розтягнення

визначення рівня застосування Правил горизонтальних розмірів,

Вертикальне розтягнення

визначення рівня застосування Правил вертикальних розмірів,

Величини правил розмірів

У спадних списках властивостей панелі Редактор властивостей Правила горизонтальних розмірів і Правила вертикальних розмірів можна буде обрати такі пункти:

Фіксований

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

Мінімальний

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

Максимальний

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

Бажаний

цей варіант означає, що початковий розмір віджета є найкращим і бажаним; але розміри віджета буде зменшено або збільшено так, щоб розташований на ньому текст можна було читати,

Розширяється

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

Мінімально розширяється

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

Ігнорується

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

Для віджетів різних типів типово застосовуються різні правила встановлення розмірів; наприклад, для віджетів кнопок типово встановлюються правила розмірів Мінімальний (у обох напрямках), а для віджетів текстових полів встановлюються правила визначення вертикального розміру Фіксований.

Найпоширенішими правилами зміни розмірів віджетів є Бажаний, Мінімальний і Максимальний.

Вертикальне та горизонтальне розтягнення

Для властивостей Вертикальне розтягування і Горизонтальне розтягування використовуються цілі числа, більші або рівні 0. За допомогою цих властивостей ви можете скоригувати застосування правил встановлення розмірів. Типовим значенням для цих властивостей є 0. Більше значення розтягування означає, що віджет буде розтягнуто більше, ніж віджет з меншим значенням розтягування.