Предмет:
Тип роботи:
Лабораторна робота
К-сть сторінок:
25
Мова:
Українська
ЛАБОРАТОРНА РОБОТА
Тема роботи: Створення найпростішого Windows-додатка.
Ціль роботи: Розбір структури Windows-додатка, придбання досвіду створення прикладного програмного забезпечення для Windows із використанням алгоритмічної мови Сі.
ТЕОРЕТИЧНА ЧАСТИНА
Процес програмування Windows-додатків відрізняється від способу, орієнтованого на обробку послідовностей чи команд запитів, як це відбувається в добре відомій моделі програмування консольних додатків. Обробка додатком Windows-повідомлень накладає на структуру програми дуже тверді обмеження.
Приступимо до дослідження структури типового Windows-додатка, відзначивши попередньо, що у вихідний код Windows-додатка насамперед варто включати файл windows. h – він містить директиви #include для всіх інших стандартних файлів заголовків Windows. У цих файлах містяться описи різних структур даних і функцій Windows.
Приклад створення типового Windows-додатка
1. Робота з компілятором
недалекому минулому компілятори Сі++ часто запускалися з командного рядка і використовували для компіляції й компонування програм для Windows make-файли. Мake-файли підходять для компіляції простих програм на Сі/Сі++, але програми для Windows не відносяться до цієї категорії. Мake-файли програм для Windows важкі для розуміння, і їх складно створювати. На щастя, графічне середовище Windows сприяла тому, що розроблювачі створили компілятори з більш дружнім інтерфейсом, що дозволяють використовувати файли проектів, що керують усіма стадіями побудови програми.
Фірми Borland і Microsoft випустили компілятори Сі++, цілком інтегровані в середовище графічного інтерфейсу Windows. Компілятори Сі/Сі++ дозволяють, знаходячись у цьому середовищі, написати, побудувати (скомпілювати і скомпонувати), налагодити й виконати програму.
Ключем до успіху при роботі в інтегрованому середовищі є правильна розробка і створення файлу проекту. Компілятор Microsoft Visual С++ використовує файли проекту з розширенням. dsp, а компілятор Borland C++ – із розширенням. ide. У файлах проектів обох компіляторів задаються різні параметри. Нижче перераховані деякі параметри, що часто задаються у файлі проекту:
- опції налагодження;
- каталоги;
- бібліотеки компонування;
- модель пам'яті (small, large, huge) ;
- файли опису ресурсів (. rc) ;
- файли з текстом початкової програми;
- файл призначення (16- чи 32-розрядна програма).
Далі розглядаються кроки, необхідні для побудови програми для Windows із використанням компілятора Microsoft Visual С++.
У меню File виберіть пункт New. На екрані з'явиться діалогове вікно New.
Рисунок Діалогове вікно NEW. Створення проекту
У списку, що з'явився, виберіть закладку Projects.
Задайте на сторінці Projects ім'я проекту, його тип (Win32Application), платформу (Win32) і виберіть диск і каталог для файлів. Після цього натисніть кнопку ОК.
У вікні, що відкрилося, Win32Application – Step 1 of 1 виберіть An empty project і натисніть кнопку Finish. У вікні інформації натисніть ОК.
Тепер проект створений і, залишається лише додати файл із початковим кодом
Щоб додати в проект новий файл, виконайте команду: Project | Add to project | New. На екрані з'явиться діалогове вікно New, відкрите на сторінці Files. (Також додати файл можна виконавши команду File | New чи натиснувши Ctrl+N)
Рисунок Діалогове вікно NEW. Створення початкового файлу
У списку, що з'явився, виберіть C++ Source File, а також задайте ім'я файлу з вихідним кодом і натисніть кнопку ОК.
Уведіть текст програми (див. розділ 2).
Збережіть вміст активного вікна, вибравши в меню File пункт Save чи просто натиснувши Ctrl+S.
Щоб побудувати програму, виберіть у меню Build пункт Rebuild All. Після чого на диску буде створений виконуваний файл програми (. exe).
2. Текст стандартної програми
Створимо найпростіший додаток, що буде лише створювати вікно і виводити в його робочу область текст «Hello, Windows!».
2.1. Підключення бібліотек
Як уже говорилося раніше, насамперед необхідно підключити бібліотеку windows. h, тому у файл із початковим кодом sample. cpp додайте наступну інструкцію:
#include <windows. h>
2.2. Точка входу в програму
Коли програміст створює консольну програму мовою С, від нього жорстко потрібно наявність лише функції main. Операційна система викликає її при запуску програми, і з цього моменту програміст, вірніше його програма, може робити усе по своєму бажанню.
При запуску в Windows операційна система викликає в програмі функцію WinMain. У будь-якому додатку обов'язково повинна бути присутнім ця функція, на яку покладається ряд специфічних задач:
- реєстрація класу вікна;
- створення і відображення вікна;
- обробка повідомлень, переданих програмі операційною системою
Отже, точкою входу програми для Windows є функція WinMain, що завжди визначається в такий спосіб:
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR szCmdLine, int iCmdShow)
Ця функція використовує послідовність викликів WINAPI (паскалевскій договір про передачу аргументів при виклику функцій) і, по своєму завершенню, повертає операційній системі Windows ціле число.
Розглянемо призначення параметрів функції WinMain.
- Параметр hInstance називається дескриптором екземпляра додатка. Дескриптором екземпляра додатка – це унікальне число, що ідентифікує програму, коли вона працює під Windows. Кожна копія однієї і той же запущеної кілька разів програми називається “екземпляром” і в кожної своє значення hInstance.
- Параметр hPrevInstance у даний час застарів і в Win32 завжди дорівнює NULL.
- Параметр szCmdLine є