Курсовая работа: Розробка програми для демонстрації автомобільного руху через залізнодорожний переїзд
Рисунок 1.4 – Вигляд діалогового вікна «Інфо»
Рисунок 1.5 - Вигляд діалогового вікна «Допомога»
1.5 Алгоритм роботи додатку
При натисненні на пункт меню «Старт Поїзда» буде рухатись поїзд, при цьому машина рухається залежно від положення шлагбауму. При натисненні на «Керування Шлагбаумом» ->«Підняти Шлагбаум» - шлагбаум піднімається, і автомобіль продовжує рух, «Керування Шлагбаумом» ->«Опустити Шлагбаум» - шлагбаум опускається і автомобіль зупиниться, коли під`їде до нього. Нижче наведено алгоритм, за яким працює додаток (рис. 1.6).
Рисунок 1.6 – Алгоритм дорожнього руху
1.6 Розробка загальної схеми функціонування програми
При завантаженні програми відкриється вікно з меню. Алгоритм, представлений у вигляді схеми, наведений нижче (рис. 1.7).
Рисунок 1.7 – Загальна схема програми
2 Програмна реалізація задачі
2.1 Підбір програмних засобів
В даному програмному продукті потрібно наглядно показати, як підключити і працювати з ресурсами при використанні API-функцій. Програма складається з однієї віконної та чотирьох діалогових функцій, що викликаються в залежності від команд користувача. Для кожного вікна потрібно реалізувати прийнятний для користувача інтерфейс. Для цього потрібно показати як реалізується графічне представлення програми, як потрібно створити і працювати з різними типами вікон.
Для більш цікавішої роботи програми потрібно підключити загальні елементи керування та доповнити рух певними звуками. Рухомість графічних зображень додасть програмі динамічності.
Реалізацію кожного елемента програми розглянемо в окремих пунктах.
2.2 Реалізація інтерфейсу
Як було сказано у попередніх розділах головне меню знаходиться в головному вікні. Воно складається з розділів: Старт Поїзда, Керування Шлагбаумом, Сервіс та Вихід. При натисненні на «Вихід» вилетить текстове повідомлення, яке буде просити відповіді. Це повідомлення являє собою функцію MessageBox, яка створює, відображає, забезпечує роботу та закриває вікно повідомлення:
int WIAPI MessageBox(HWND hWnd, LPCTSTR Text, LPCTSTR lpCaption,
UINT uType );
Якщо hWnd=NULL, вікно повідомлення не має батьківського вікна. При lpCaption = NULL, в заголовок виводиться рядок “Помилка”. Параметр uType визначає зміст та поводження вікна повідомлень. Також передбачена можливість видачі звукових повідомлень, при визові функції MessageBeep. Синтаксис цієї функції:
BOOL MessageBeep(UINT uType);
У даній курсовій роботі MessageBox використовується при виході із програми в такому вигляді:
MessageBox(hWnd,
"Вивпевнені?",
"?",
MB_OKCANCEL|MB_ICONQUESTION|MB_SYSTEMMODAL);
Інші пункти меню розглянемо під наступними розділами.
2.3 Реалізація виведення графічних зображень
Даний програмний продукт має доволі багато графічної інформації, що на думку виконавця повинно надавати програмі кращого вигляду.
Виведення графічної інформації відбувається при обробці повідомлення системи WM_PAINT за допомогою об’єкту типу HDC, за допомогою функції BeginPaint().
Так в головному вікні виводиться фоновий малюнок, значок університету та текст. Малюнок та значок являють собою растрові зображення, для їх виводу використовують тип BITMAP. Ці об’єкти потрібно загрузити з файлу в пам’ять, визначити розміри вікна і розташувати по своїм місцям у вікні.
Програмний код, що реалізує виведення фонового малюнку представлений нижче.
PAINTSTRUCT ps; // структура для параметрів контексту