- •Методичні вказівки
- •Загальні положення
- •1 Структура windows - додатків. Віконна процедура. Обробка повідомлень
- •1.1 Мета роботи
- •1.2 Вказівки з підготовки до виконання лабораторної роботи
- •1.4 Завдання на лабораторну роботу
- •1.5 Контрольні запитання і завдання
- •2 Контексти пристроїв. Вивід тексту
- •2.1 Мета роботи
- •2.2 Вказівки з підготовки до виконання лабораторної роботи
- •2.3 Суть роботи
- •2.4 Завдання на лабораторну роботу
- •2.5 Контрольні запитання і завдання
- •3 Графічний інтерфейс користувача (graphical user interface, gui)
- •3.1 Мета роботи
- •3.2 Вказівки з підготовки до виконання лабораторної роботи
- •3.3 Суть роботи
- •3.4 Завдання на лабораторну роботу
- •3.5 Контрольні запитання та завдання
- •4 Засоби введення інформації
- •4.1 Мета роботи
- •4.2 Вказівки з підготовки до виконання лабораторної роботи
- •4.3 Огляд теми роботи
- •4.4 Завдання на лабораторну роботу
- •Варіант 6
- •4.5 Контрольні запитання та завдання
- •5 Використання ресурсів
- •5.1 Мета роботи
- •5.2 Вказівки з підготовки до виконання лабораторної роботи
- •5.3 Суть роботи
- •5.4 Завдання на лабораторну роботу
- •Варіант 9
- •5.5 Контрольні запитання і завдання
- •6 Багатозадачність та багатопотоковість
- •6.1 Мета роботи
- •6.2 Вказівки з підготовки до виконання лабораторної роботи
- •6.3 Суть роботи
- •6.4 Завдання на лабораторну роботу
- •6.5 Контрольні запитання і завдання
- •7 Багатовіконний інтерфейс
- •7.1 Мета роботи
- •7.2 Вказівки з підготовки до виконання лабораторної роботи
- •7.3 Суть роботи
- •7.4 Завдання на лабораторну роботу
- •7.5 Контрольні запитання та завдання
- •8.4 Завдання на лабораторну роботу
- •8.5 Контрольні запитання і завдання
- •Список літератури
- •Методичні вказівки
7.4 Завдання на лабораторну роботу
Варіант 1
Написати простий багатовіконний графічний редактор, що дозволяє за допомогою миші рисувати лінії і прямокутники. Редактор повинний мати можливість запису і читання зображення в метафайлі.
Варіант 2
Написати найпростіший багатовіконний текстовий редактор, що дозволяє вводити текст, зберігати його на диску у форматі *. txt і читати в новому вікні додатка.
Варіант 3
Створити багатовіконний додаток, кожний з утворюваних вікон якого є годинами реального часу. Час виводиться в аналоговій або цифровій формі, що визначається користувачем перед створенням вікна.
Варіант 4
Написати простий багатовіконний графічний редактор, що дозволяє за допомогою миші рисувати кола та еліпси. Редактор повинний мати можливість запису і читання зображення в метафайлі.
Варіант 5
Написати простий багатовіконний графічний редактор, що дозволяє за допомогою миші рисувати прямокутники. Редактор повинний мати можливість запису і читання зображення в метафайл.
Варіант 6
Написати простий багатовіконний графічний редактор, що дозволяє за допомогою рисувати полігони. Точки задаються лівою клавішею миші, остання точка полігона - за натисненням правої клавіші миші. Редактор повинний мати можливість запису і читання зображення в метафайлі.
Варіант 7
Написати багатовіконний додаток, що дозволяє відчиняти від 1 до 8 дочірніх вікон. Усі вікна при створенні мають власний оригінальний заголовок. Реалізувати можливості упорядкування дочірніх вікон: показати усі вікна, «черепиця», вибрати вікно зі списку.
Варіант 8
Написати найпростіший багатовіконний «оглядач» текстових файлів. Організувати скролінг тексту.
Варіант 9
Написати багатовіконний «оглядач» графічних файлів бітового формату. Організувати скролінг зображень.
7.5 Контрольні запитання та завдання
Охарактеризуйте елементи MDI.
Наведіть ієрархію батьківських і дочірніх вікон додатка MDI у Windows.
Яким чином створюються дочірні вікна програми?
Якими повідомленнями обмінюються батьківські та дочірні вікна?
Якими повідомленнями обмінюються активне дочірнє вікно та вікно-адміністратор при закритті активного вікна MDI - додатка?
Наведіть приклади використання багатовіконних додатків.
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).
Як правило, найбільший смисл библиотеки, що динамично підключаються, приобретают в большом додатку, в додатках, использующих великий набір функцій, состав и содержание которых може мінюватись за час эксплуатації і модифікації. Крім того, динаміческі підключаємі бібліотеки самі можуть стать цінним продуктом.