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

Крок 2. Створення підлеглої (дочірньої) форми для відображення рисунків

  1. Створіть нову форму (кнопка New Form на панелі інструментів).

  2. Змініть ім’я нової форми на Child, заголовок на Новий рисунок, задайте колір форми clWhite, властивість FormStyle встановіть в fsMDIСhild (таке значення властивості FormStyle повинні мати всі дочірні форми багатовіконного інтерфейсу).

  3. Розташуйте на формі компонент Image – зображення (палітра Additional). Змініть його ім’я на Image, Stretch встановіть в true (що дозволить рисунку автоматично пристосовуватися до розмірів компонента Image), Align установіть в alClient (компонент при цьому заповнить всю робочу область форми).

  4. Збережіть створений разом з формою текстовий модуль з ім’ям ChildUnit.

  5. Помістіть у головний модуль (MainUnit) посилання на модуль ChildUnit. Для цього перейдіть у головний модуль програми, виберіть у меню File пункт Use Unit і двічі натисніть ліву кнопку миші у діалоговому вікні на модулі ChildUnit.

  6. Запустіть програму. Всередині головної форми Picture Editor буде відображатися підлегла (дочірня) форма Child. Простежте за поведінкою дочірньої форми при її переміщенні, а також натисканні кнопок згортання, мінімізації/максимізації і закриття.

Особливістю поведінки підлеглої форми є те, що вона згортається при натисканні кнопки закриття вікна.

Щоб при натисканні кнопки закриття підлегла форма дійсно закривалася, треба згенерувати для неї процедуру оброблення події OnClose (для цього двічі натисніть ліву кнопку миші на рядку події OnClose в інспекторі об’єктів для форми Child) і вставить у неї рядок:

Action := caFree;

Цей рядок присвоює значення caFree (звільнити форму) параметру Action, переданому всередині дужок процедури оброблення події OnClose. За умовчання, для підлеглих MDI форм значення параметра Action встановлене в caMinimize, що і зумовлює згортання форми при натисканні кнопки закриття.

Запустіть додаток і вивчіть його властивості.

  1. При запуску програми автоматично створюються всі форми додатка, у тому числі і підлегла Child, у чому в даному випадку немає необхідності – форми Child повинні створюватися при відкритті файлів рисунків.

Для того, щоб форма Child не відображалася відразу після запуску додатка, її треба видалити зі списку автоматично створюваних форм у меню Project Options, вкладка Forms. Для цього перемістіть форму Child зі списку Autocreate forms (автоматично створювані форми) у Available forms (доступні форми).

Запустіть програму і перегляньте результати програмування. Крок 3. Створення процедури оброблення команди New головного меню

  1. Створіть процедуру оброблення команди New меню File головної форми і введіть туди наступний код:

Var

Child : TChild; // Змінна класу TChild – дочірнє вікно

begin

// Виклик конструктора дочірнього вікна

Child := TChild.Create(Self);

Child.Show; // Показати форму

end;

Рядок Var Child : TChild; означає опис змінної Child класу TChild, тобто дочірнього вікна (після зміни імені форми на Child ім’я типу автоматично змінилося на TChild).

Для створення екземпляра класу TChild викликається конструктор Create, параметром якого є змінна Self покажчик на власника (Owner) дочірньої форми, тобто батьківську форму MainForm.

Метод Show відображає створену форму на екрані.