Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
System programming / Методические указания / Методичка к лабораторным работам (укр).doc
Скачиваний:
46
Добавлен:
08.05.2015
Размер:
230.4 Кб
Скачать

7.4 Завдання на лабораторну роботу

Варіант 1

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

Варіант 2

Написати найпростіший багатовіконний текстовий редактор, що дозволяє вводити текст, зберігати його на диску у форматі *. txt і читати в новому вікні додатка.

Варіант 3

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

Варіант 4

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

Варіант 5

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

Варіант 6

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

Варіант 7

Написати багатовіконний додаток, що дозволяє відчиняти від 1 до 8 дочірніх вікон. Усі вікна при створенні мають власний оригінальний заголовок. Реалізувати можливості упорядкування дочірніх вікон: показати усі вікна, «черепиця», вибрати вікно зі списку.

Варіант 8

Написати найпростіший багатовіконний «оглядач» текстових файлів. Організувати скролінг тексту.

Варіант 9

Написати багатовіконний «оглядач» графічних файлів бітового формату. Організувати скролінг зображень.

7.5 Контрольні запитання та завдання

  1. Охарактеризуйте елементи MDI.

  2. Наведіть ієрархію батьківських і дочірніх вікон додатка MDI у Windows.

  3. Яким чином створюються дочірні вікна програми?

  4. Якими повідомленнями обмінюються батьківські та дочірні вікна?

  5. Якими повідомленнями обмінюються активне дочірнє вікно та вікно-адміністратор при закритті активного вікна MDI - додатка?

  6. Наведіть приклади використання багатовіконних додатків.

8 РОЗРОБКА БІБЛІОТЕК, ЩО ДИНАМІЧНО ПІДКЛЮЧАЮТЬСЯ

8.1 Мета роботи

Ознайомлення з одним із найбільш важливим структурним елементом Windows - бібліотеками динамічного компонування (Dynamic Link Libraries, DLL), одержання практичних навичок із створення динамічних бібліотек.

8.2 Вказівки з підготовки до виконання лабораторної роботи

Необхідно вивчити принципи динамічного зв'язування функцій і процедур Windows-додатків, звернути увагу на відмінність у використанні стандартних статичних бібліотек функцій мов програмування і динамічних бібліотек системного призначення.

При підготовці до роботи необхідно вивчити конспект лекцій за зазначеною темою, методичні вказівки, а також розділи, зазначені в [16, c. 986-1013].

8.3 Суть роботи

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

Термін динамічне зв'язування (dynamic linking) відноситься до процесів, що Windows використовує для того, щоб зв'язати функції в однім з модулів з реальною функцією з модуля бібліотек. Статичне зв'язування (static linking) має місце в процесі створення програми, коли для створення файла, що виконується (.exe), зв'язуються воєдино всі об'єктні (.obj) модулі, файли бібліотек (.lib) і, як правило, скомпільовані файли опису ресурсів (. res). На відміну від цього, динамічне зв'язування має місце під час виконання програми.

Файли KERNEL32. DLL, USER32. DLL, GDI32. DLL, файли драйверів - усе це бібліотеки, що динамічно підключаються. Ці бібліотеки можна використовувати в усіх програмах Windows.

Бібліотеки, що динамічно підключаються, можуть містити тільки ресурси або дані і не містити програм. Хоча модуль бібліотеки, що динамічно підключається, може мати будь-яке розширення (наприклад, . exe, . fon), стандартним розширенням, прийнятим у Windows, є . dll. Тільки ті бібліотеки, що динамічно підключаються, мають розширення . dll, Windows може завантажити автоматично. Якщо файл має інше розширення, то програма повинна завантажити модуль бібліотеки явно. Для цього використовується функція LoadLibrary (LoadLibraryEx).

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