
- •Методичні вказівки
- •Загальні положення
- •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 Контрольні запитання і завдання
- •Список літератури
- •Методичні вказівки
Варіант 6
Написати програму, що рисує безупинну лінію при пересуванні миші по вікну додатка з натиснутою лівою кнопкою. Зображення повинно оновлюватися за приходом події WM_PAINT.
Варіант 7
Написати програму, що дозволяє малювати лінії. Натиснення лівої кнопки миші визначає першу точку лінії. Не відпускаючи кнопки, користувач переміщає мишу у другу точку відрізка. Відпускання кнопки призводить до фіксації другої точки лінії. Під час прямування з натиснутою кнопкою миші, лінія повинна оновлюватися.
Варіант 8
Написати програму, що емулює роботу миші за допомогою клавіатури. За натисненням визначених клавіш курсор миші пересувається в межах вікна додатка. При емуляції натиснення лівої клавіші відбувається зміна кольору фона.
Варіант 9
Написати програму, що рисує олімпійські кільця. За натисненням клавіш із цифрами 1-5 одне з кілець із відповідним номером змінює свій колір. Те ж саме відбувається при щиголі миші на однім із кілець.
4.5 Контрольні запитання та завдання
Які засоби введення інформації Ви знаєте?
Дайте визначення таким поняттям як «каретка» і «курсор»?
Чим відрізняються апаратні (keystrokes) і символьні (characters) повідомлення?
Які повідомлення від клавіатури опрацьовуються віконною процедурою?
Перелічіть повідомлення, що надходять від миші.
Що таке «фокус уведення»?
Як ви вважаєте, чи можна одержати повідомлення від миші, якщо курсор перебуває за межами вікна?
Як малювати за межами вікна додатка?
Як опрацьовуються натиснення кнопки в робочій області вікна, створеною функцією CreateWindow?
Яким чином можна одержати інформацію про наявність миші в системі і її характеристики?
5 Використання ресурсів
5.1 Мета роботи
Ознайомлення з ресурсами як засобом створення візуального інтерфейсу і завдання параметрів і характеристик програмного додатка, одержання практичних навичок з упорядкування, написання і налагодження програм, що містять у ресурсних файлах опис курсорів, бітових образів, вікон діалогу, меню.
5.2 Вказівки з підготовки до виконання лабораторної роботи
Необхідно вивчити особливості основних видів ресурсів (іконок, курсорів, бітових образів, символьних рядків, меню, вікна діалогу і т.д.), а також порядок їхній визначення в ресурсних файлах додатків і їхнє формування під час функціонування програми.
При підготовці до роботи необхідно вивчити конспект лекцій за зазначеною темою, методичні вказівки, а також розділи, зазначені в [16, c. 441-469], [17, c. 25-27].
5.3 Суть роботи
У більшості програм для Windows включаються користувальні значки (наприклад, користувач бачить їх на екрані в лівому куті рядка заголовка вікна додатка), курсори (при пересуванні миші вид курсору змінюється), меню, дочірні вікна управління. Все це види ресурсів (resources) Windows. Ресурси є даними, і вони зберігаються в.ехе файлі програми, але розташовані вони не в області даних, де звичайно зберігаються дані, що виконуються програмою. Таким чином, до ресурсів немає безпосереднього доступу через змінні, визначені у вихідному тексті програми. Вони повинні бути явно завантажені з файла з розширенням *.ехе в пам'ять.
Для виконання лабораторної роботи необхідно вивчити такі види ресурсів: іконки (icons), курсори (cursors), бітові образи (bitmaps), символьні рядки (character strings), меню (menus), швидкі клавіші (keyboard accelerators), вікна діалогу (dialog boxes), ресурси користувача (user defined resources), - а також набір функцій API роботи з ресурсами.
Варто усвідомити, що програма працює з описами усіх видів об'єктів. Функції, що створюють або читають об'єкти з ресурсів, повертають покажчик на об'єкт, що надалі використовується в процедурах виводу і перетворення.
Особливу увагу варто приділити таким групам функцій API:
Читання об'єктів із ресурсів (LoadCursor, LoadIcon, LoadString, LoadResource, LoadBitmap, LoadMenu).
Створення об'єктів (див. пп.3, 4).
Вибору об'єкта в контекст (SelectObject).
Управління об'єктами: наприклад, для меню існує група функцій зміни меню в процесі виконання програми (AppendMenu, DeleteMenu, InsertMenu, ModifyMenu, RemoveMenu, GetSubMenu і т.п.).
Управління діалоговими вікнами (DialogBox).
Одним із широко використовуваних видів ресурсу є діалогові вікна. Діалогові вікна бувають модальними і немодальними. Найбільше часто використовуються модальні вікна. Ці вікна не дають користувачу працювати з іншими вікнами додатка, але дозволяють переключатися на роботу з іншими додатками. Для того, щоб користувач міг продовжити роботу з додатком, необхідно завершити роботу з діалоговим вікном. Немодальні діалогові вікна не потребують свого завершення для продовження роботи, і користувач може під час роботи з ними вільно переключатися на будь-яке вікно додатка та інші додатки.