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

Запустіть програму і вивчіть дії команди New. Крок 4. Створення діалогів відкриття і збереження графічних файлів

  1. Додайте до головної форми компоненти OpenPictureDialog (діалог відкриття графічного файлу) і SavePictureDialog (діалог збереження графічного файлу) із палітри Dialogs. Змініть їх імена на OpenPictureDialog і SavePictureDialog відповідно.

  2. Змініть властивість Title (заголовок) діалогу OpenPictureDialog на Відкрити графічний файл, SavePictureDialog на Зберегти графічний файл.

Змініть властивість DefaultExt (розширення за умовчання) компонента SavePictureDialog на bmp

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

Var

Child : TChild; // Змінна типу TChild – дочірнє вікно

begin

// Запуск діалогу OpenPictureDialog

If OpenPictureDialog.Execute Then

begin

//Виклик конструктора вікна

Child := TChild.Create(Self);

Child.Image.Picture.LoadFromFile(OpenPictureDialog. FileName);

Child.ClientWidth := Child.Image.Picture.Width;

Child.ClientHeight := Child.Image.Picture.Height;

Child.Caption := ExtractFileName(OpenPictureDialog. FileName);

Child.Show;

end;

end;

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

На формі Child розташований компонент Image (зображення), що має властивість Picture (рисунок), що, у свою чергу, має метод LoadFromFile (завантажити з файлу). Параметром LoadFromFile є рядок OpenPictureDialog.FileName, тобто ім’я файлу, обране у діалозі відкриття.

У наступних рядках наведеного коду встановлюється висота і ширина робочої частини форми (ClientWidth, ClientHeight), рівна висоті і ширині рисунка, що зчитується, а також заголовок (Caption) форми – ім’я рисунка. Функція ExtractFileName використовується для відокремлення імені файлу з його повного імені (що включає назву диска та каталогів).

Запустіть додаток і завантажте у нього кілька файлів рисунків.

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

If ActiveMDIChild <> Nil Then // Якщо є відкриті вікна

// Виконати діалог збереження

If SavePictureDialog.Execute Then

TChild(ActiveMDIChild).Image.Picture.SaveToFile (SavePictureDialog.FileName);

Змінна ActiveMDIChild є покажчиком на активне дочірнє вікно додатка. Якщо таке існує, викликається діалог збереження файлу, після чого рисунок зберігається з ім’ям, обраним у діалозі збереження (SavePictureDialog.FileName). Для того, щоб за покажчиком ActiveMDIChild (типу TForm) здобути доступ до дочірнього вікна Child (типу TChild) використовується операція явного приведення до типу TChild(ActiveMDIChild).

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

Крок 5. Написання коду для меню Window головного вікна

Згенеруйте процедури оброблення команд меню Window: Tile, Cascade, Arrange All і вставте туди методи Tile; Cascade; ArrangeIcons; відповідно.

Запустіть додаток і вивчіть можливості введених команд.

Крок 6. Створення діалогу вибору кольору

Помістіть на головну форму компонент Panel (вкладка Standard), встановіть значення властивості Height рівним 32; значення властивості Align установіть в alTop; змініть Name на ToolBar і зітріть значення властивості Caption.

Помістіть на панель (не на форму!) компонент SpeedButton (вкладка Additional). Змініть ім’я кнопки на Color і зчитайте відповідний рисунок.

Розташуйте на формі компонент ColorDialog (вкладка Dialogs) і змініть його ім’я на ColorDialog.

Створіть процедуру оброблення натискання на кнопку Color і введіть туди наступний код.

if ActiveMDIChild <> Nil Then

if ColorDialog.Execute Then

TChild(ActiveMDIChild).Image.Canvas.Pen.Color := ColorDialog.Color;

Якщо існує активне дочірнє вікно (ActiveMDIChild <> Nil), то викликається діалог вибору кольору. Обраний у діалозі колір (ColorDialog.Color) присвоюється олівцю (Pen) полотна (Canvas) зображення (Image) поточного вікна ActiveMDIChild, що дозволяє вибрати різний колір малювання для різних вікон.

Методи малювання будуть розглянуті у наступній лабораторній роботі.

Зміст звіту

1. Назва і мета роботи.

2. Код програми.

3. Відповісти на питання.