- •О.С. Зеленський
- •Розділ 1. Загальні відомості створення додатку windows
- •1.1. Створення додатку Windows за допомогою майстра AppWizard
- •1.2. Варіанти майстрів для різних проектів
- •1.3. Короткий опис sdi програми
- •1.4. Короткий опис mdi програми
- •1.5. Короткий опис простого діалогового додатку
- •Контрольні питання
- •Розділ 2. Повідомлення і команди
- •2.1. Обробка повідомлень
- •2.2. Цикли обробки повідомлень
- •2.3. Карти повідомлень
- •Контрольні питання
- •Розділ 3. Документи та види
- •3.1. Клас додатку
- •3.2. Клас головного вікна
- •3.3. Клас документа
- •3.4. Класи виду
- •Контрольні питання
- •Розділ 4. Робота з клавіатурою, мишею і меню
- •4.1. Робота з клавіатурою
- •4.2. Робота з мишею
- •4.3. Робота з меню
- •Контрольні питання
- •Розділ 5. Виведення на екран
- •5.1. Класи графічних об'єктів
- •5.2. Робота зі шрифтами
- •5.3. Робота з пензликами та малювання графічних фігур
- •5.4. Робота з пензликом
- •5.5. Робота зі скролінгом
- •5.6. Приклад роботи з таблицями
- •5.7. Малювання на екрані маніпулятором "миша"
- •5.8. Завантаження та виведення на екран бітових зображень
- •5.9. Копіювання бітових образів
- •5.10. Малювання графічних об'єктів з використанням резинових контурів та метафайлів
- •5.11. Виділення графічних об'єктів у прямокутній області
- •5.12. Універсальний приклад роботи з двовимірною графікою з використанням резинового контуру
- •5.13. Запис на диск та зчитування з диску графічних об'єктів
- •5.14. Побудова кругових діаграм і гістограм
- •5.15. Користувацький режим роботи з графікою на прикладі малювання годинника Clock
- •Контрольні питання
- •Завдання
- •Розділ 6. Друк і попередній перегляд документів
- •6.1. Вибір і налаштування параметрів друку
- •6.2. Створення контекста пристрою
- •6.3. Друк документів і бібліотека mfc
- •6.4. Масштабування
- •6.5. Друк багатосторінкового документа
- •Контрольні питання
- •Розділ 7. Робота з файлами
- •7.1. Приклад роботи з файлами на основі класів cFile, cStdioFile та потоку fstream
- •7.1.1. Робота з класом cFile
- •7.1.2. Робота з потоком fstream
- •Можливі режими доступу
- •7.1.3. Робота з класом cStdioFile
- •7.2. Серіалізація даних, клас cArchive
- •7.3. Використання реєстру в додатках
- •Контрольні питання
- •Завдання
- •Розділ 8. Діалогові вікна
- •8.1. Створення діалогового вікна та простіші елементи керування
- •8.2. Робота зі списками і комбінованими полями
- •8.3. Ускладнений приклад зі списками
- •8.4. Робота з повзунками
- •8.5. Виведення бітових матриць в діалозі та у вікні виду
- •8.6. Лінійний регулятор, лінійний індикатор, інкриментний регулятор
- •8.7. Стандартні діалоги вибору файлів, шрифтів та кольору
- •8.8. Взаємоз'вязок діалога, документа та виду при розробці додатку
- •8.8.1. Клас cDialDoc
- •8.8.2. Клас cDialView
- •8.8.3. Клас Cdlg
- •8.9. Формування вхідного документа на основі діалогу
- •Контрольні питання
- •Завдання Робота з типовими елементами керування
- •Робота зі списками і комбінованими полями
- •Список літератури
1.5. Короткий опис простого діалогового додатку
Додаток цього типу не має ніякого меню, окрім системного, і не може відкривати або зберігати файли. Це оптимальний варіант для відносно простих утиліт на зразок Character Map (Таблиця символів), яка входить до складу базового комплекту Windows. Процес побудови такого додатка за допомогою AppWizard дещо відрізняється від розглянутого раніше, тому що в цьому випадку немає сенсу ставити питання про підтримку баз даних або складених документів. Процес побудови починається також, як і для SDI-і MDI-додатків. Необхідно запустити AppWizard, але на перщому етапі вибрати перемикач Dialog based, як це показано на рис. 1.12.
Рис. 1.12. Створення простого діалогового (Dialog Based)
Після цього необхідно натиснути кнопку Next та перейти до другого етапу, як це показано на рис. 1.13.
Рис. 1.13. Етап 2: настройка AppWizard для створення простого діалогового додатку включає вибір параметрів для системи довідки, елементів ActiveX, автоматичних серверів і інтерфейсу Sockets
Якщо треба включити в системне меню пункт About, встановіть прапорець About box. Для того щоб AppWizard підготував все необхідне для включення довідки в додаток, потрібно встановити прапорець Context-sensitive Help (Контекстна довідка). Третій прапорець у цьому вікні - 3D controls (Об'ємний дизайн елементів управління) – рекомендується встановлювати для більшості додатків, робота яких планується в операційних середовищах Windows XP і Windows NT. Якщо ви хочете, щоб створюваний додаток міг передавати управління іншому додатку через механізм автоматизації ActiveX, встановіть прапорець Automation. Якщо планується використовувати в додатку елементи управління ActiveX встановіть прапорець ActiveX Controls (елементи управління ActiveX). Якщо планується, що додаток буде мати доступ до Internet через Windows Sockets, встановіть прапорець Windows Sockets. Необхідно натиснути кнопку Next для того, щоб перейти до третього етапу, вікно якого представлено на рис. 1.14.
Рис. 1.14. Етап 3: налаштування AppWizard для створення діалогового додатку (коментарі в тексті програми та спосіб компонування бібліотеки MFC)
При створенні простих діалогових додатків AppWizard може включити в текст програм коментарі. Що стосується рішення про вибір статичного компонування та розподіленого DLL-модулями бібліотечних функцій MFC, то для даного варіанту програми аргументи на користь кожної з альтернатив зберігаються тими ж, що й для SDI та MDI-додатків. Якщо потенційний користувач вже має DLL-модулі на своєму комп'ютері, вибирається в групі How would you like to use MFC library? перемикач As a shared DLL для того, щоб exe-файл був меншим, а компонування виконувалося швидше. В іншому випадку вибирається в цій групі перемикач As a statically linked library.
Контрольні питання
1. У чому відмінність SDI та MDI додатків?
2. Для чого використовується AppWizard?
3. У чому відмінність SDI- та MDI-додатку?
4. Які ви знаєте майстри для створення проектів під MFC?
5. Опишіть створення додатку на основі SDI.
6. Опишіть створення додатку на основі MDI.
7. Опишіть створення додатку на основі Dialog Based.
8. Розкрийте кроки створення додатку за допомогою AppWizard.