Студопедия  
Главная страница | Контакты | Случайная страница

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

Форма та її властивості. Створення та використання форм

Читайте также:
  1. B. Повышение тонуса ядер ретикулярной формации ствола мозга.
  2. C. Движение информации и ее трансформация от исходной в командную
  3. E) автоформа
  4. ERP — информационная система масштаба предприятия
  5. Flash –носители информации
  6. I Крестьянская реформа 1861 г.
  7. I. Изучите блок теоретической информации: учебник стр. 89-105, конспект лекций № 12-13.
  8. I. Нормативно-правовые документы, регламентирующие деятельность учителя информатики
  9. I. Общая информация
  10. I. Общая информация

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

Поряд з ними у форми є і специфічні властивості, методи та події, що визначені її особливим значенням.

Властивості форми:

Властивість Опис
Active Містить True, якщо вікно активне (має фокус введення)
BorderIcon Визначає наявність кнопок в заголовку вікна: biSystemMenu - є кнопка виклику системного меню; biMinimize - є кнопка мінімізації; biMaximize - є кнопка максимізації; biHelp - є кнопка виклику довідкової служби
Canvas Канва для прорисовки фону вікна. Цю властивість можуть використовувати не віконні дочірні елементи
ClientHeight Висота клієнтської частини вікна
ClientRect Прямокутник клієнтської частини вікна
ClientWidth Ширина клієнтської частини вікна
HelpFile   Кожна форма може мати індивідуальний Help- файл, ім’я якого містить ця властивість. Якщо ім’я не вказано, використовується Hlp-файл додатку
Icon Містить піктограму вікна. Для головної форми ця властивість визначає також піктограму програми
KeyPreview   Якщо має значення True, форма отримує події від клавіатури, перед тем як вони надійдуть в елемент з фокусом введення
Menu Містить головне меню вікна
Position     Визначає положення і розміри вікна в момент його появи на екрані: poDesigned – такі ж, як на етапі конструювання вікна; poDefault - положення і розміри визначає Windows; poDefaultposOnly - положення, як на етапі конструювання вікна, розміри визначає Windows; poDefaultSizeOnly - розміри, як на етапі конструювання вікна, положення визначає Windows; poScreenCenter - в центрі екрану з розмірами як на етапі конструювання
PrintScale   Визначає масштабування вікна при його друкуванні на принтері: poNone - немає масштабування; роРrороrtional - форма масштабується так, щоб її образ на папері був схожий на зображення на екрані; poPrintToFit- форма друкується з такими ж пропорціями як на екрані, але з розмірами що заповнюють лист паперу
WindowState Визначає стан вікна в момент його появи на екрані: wsNormal – звичайне вікно; wsMinimized - мінімізовано до пиктограми; wsMaximized - розгорнуте на весь екран

 

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

Зазначені умови, що прийняті за замовчуванням (перша форма - головна, усі форми створюються автоматично), можуть бути змінені. Головною у додатку може бути зовсім не та форма, що була спроектована першою. Не варто також у загальному випадку усі форми робити створюваними автоматично. У додатку можуть бути передбачені форми (наприклад, форми для установки різноманітних опцій), що потрібні далеко не в кожному сеансі роботи з додатком. Було б варварським марнотратством створювати про усякий випадок такі форми автоматично при кожному запуску додатка і займати під них пам'ять. А в додатках з інтерфейсом множини документів дочірні форми в принципі не можуть бути автоматично створюваними, тому що число таких форм визначає користувач під час роботи додатка, створюючи кожну нову форму командою типу Нове вікно.

Змінити прийняті за замовчуванням умови щодо форм можна у вікні опцій проекту, що викликається командою Проект/Опции. У вікні опцій, проекту, що відкривається, потрібно вибрати сторінку Форми.

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

Для кожної автоматично створюваної форми Delphi добавляє у файл програми відповідний оператор її створення методом CreateForm. Це можна побачити, якщо виконати команду Проект /Исходный текст і переглянути файл проекту.dpr, що з'явився

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

У момент створення форми виникає подія OnCreate. Обробка, цієї події широко використовується для налагодження компонентів форми, створення списків і т.д.

У потрібний момент форму можна зробити видимою методами Show або ShowModal. Останній метод відкриває форму як модальну. Це означає, що керування передається цій формі і користувач не може передати фокус іншій формі даного додатка доти, поки він не закриє модальну форму.

Методи Show і ShowModal можна застосовувати тільки до невидимої у даний момент форми. Якщо немає впевненості, що форма в даний момент видима, то перед застосуванням цих методи, варто перевірити властивість Visible форми.

При виконанні методів Show або ShowModal виникає подія форми onSnow. Ця подія виникає до того моменту, як форма дійсно стане видимою Тому обробку події onShow можна використовувати для налагодження компонентів форми, що відкривається.

Методом Hide форму в будь-який момент можна зробити невидимою. У цей момент у ній виникає подія onHide.

Необхідно пам'ятати, що для виконання методів CreateForm, Show, ShowModal, Hide і взагалі для обміну любою інформацією між формами модулі відповідних форм повинні використовувати один одного.

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

Якщо одна форма виконує якісь дії з іншою формою, то у списку Uses розділу implementation модуля першої форми повинне бути посилання на модуль другої форми. Посилання на модуль другої форми можна встановити програмно, але Delphi дозволяє виконати цю операцію автоматично. Для цього потрібно вибрати команду Файл/Использовать модуль, що приведе до появи діалогового вікна Использовать модуль. Після вибору потрібного модуля і натиснення кнопки ОК посилання на нього додається автоматично.

Якщо посилання на потрібний модуль відсутнє, то при компіляції програми з’являється діалогове вікно, яке повідомляє, що одна форма використовує іншу, але модуль другої форми відсутній у списку Uses модуля першої форми. Для автоматичного додавання посилання на модуль достатньо натиснути кнопку Yes.

 




Дата добавления: 2014-12-20; просмотров: 46 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав