Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛабробС++1к.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.06 Mб
Скачать

1Б. Побудова windows-додаткa за допомогою майстра

Мета роботи – ознайомитись з основами побудови проектів за допомогою майстра AppWizard на базі Microsоft Foundation Classes (MFC).

Пояснення до лабораторної роботи

В середовищі Visual C++ можна будувати проекти різних типів. Такі проекти після побудови можна компілювати та завантажувати на виконання. Фірма Microsoft розробила спеціальний комплекс, який полегшує та прискорює побудову проектів у середовищі Visual C++. Наприклад, майстер MFC AppWizard (exe) надає можливість будувати проект Windows-додатку, який має однодокументний, багатодокументний чи діалоговий інтерфейс та використовує бібліотеку MFC

Особливість розробки додатків для Windows полягає у застосуванні спеціальної термінології, поєднаної з інтерфейсом користувача, наприклад: меню, діалогові вікна.

Вікно- це спеціальна прямокутна область екрану. Всі елементи вікна, його розміри та зовнішній вигляд контролюються програмою, яка його відкрила. Кожне клацання користувача на деякому елементі вікна викликає відповідні дії додатку. Активізуючи за допомогою миші чи клавіатури деяке вікно, користувач повідомляє системі про те, що всі наступні команди та дані потрібно направляти саме цьому вікну. Результатом виконання лаборатор6ної роботи є побудова вікна додатку, яке містить заголовок, меню та стандартні засоби керування розмірами вікна.

Побудова каркасу однодокументного додатку засобами майстра AppWizard

Засоби майстра AppWizard дають змогу побудувати каркас додатку, який містить код та ресурси, які можна компілювати у виконавчий програмний модуль. Ця програма і є основою для розробки додатку.

1. У головному меню відкрити вікно File | New, де вказані типи проектів. Виберіть опцію MFC AppWizard (exe).

2. .У полі Project Name введіть назву проекту, наприклад, project1 та клацніть кнопку ОК. На екрані виникне діалогове вікно MFC AppWizard, показане на Рис. 1б.1.

Рис.1б.1.MFC AppWizard - вікно 1

Це перше діалогове вікно майстра, де пропонується вибрати тип додатку: однодокументний (Single Document Interface - SDI, перемикач Single document), багатодокументний (Multiple Document Interface - MDI, перемикач Multiple documents) чи на основі діалогового вікна (перемикач Dialog based). У SDI-додатках можна відкрити тільки один документ у головному вікні, тоді як у MDI-додатках – кілька вікон, кожен документ у окремому дочірньому вікні. У третьому типі додатку головним вікном служить діалогове вікно.

3. Змініть тип додатку з Multiple documents на Single document. Клацніть кнопку Next, щоб перейти до наступного діалогового вікна (Рис. 1б.2).

Рис.1б.2. MFC AppWizard - вікно 2

4.Завдання підтримки баз даних не ставиться, тому залиште None вибраним та клацніть кнопку Next, щоб перейти до наступного діалогового вікна (Рис. 1б.3).

Рис.1б.3. MFC AppWizard - вікно 3

У цьому діалоговому вікні вміщені параметри, поєднані з технологією ActiveX, яка застосовує СОМ для взаємодії програмних компонентів один з одним незалежно від мови, якою вони написані. Існує також технологія, основана на СОМ, - OLE, яка застосовується для створення складених документів (що містять дані різних форматів та створених різними додатками) та роботи з ними.

5.Не змінюючи параметрів, клацніть кнопку Next, щоб перейти до наступного діалогового вікна (Рис.1б.4).

Рис.1б.4. MFC AppWizard - вікно 4

Параметри даного діалогового вікна дають змогу задати функції, які повинні підтримувати додаток project1.

6.Не змінюючи параметрів, клацніть кнопку Advanced.

Рис.1б.5.Вкладинка Document Template Strings діалогового вікна Advanced Options

На вкладинці Window Styles (Рис. 1б.6) визначаються характеристики вікна додатку.

Рис.1б.6.Вкладинка Window Styles діалогового вікна Advanced Options.

7.Поверніться на вкладнику Document Template Strings. У віконці File extension надрукуйте pr1 та клацніть кнопку Close для повернення у вікно 4.

8.Клацніть кнопку Next у вікні 4, та перейдіть до наступного вікна (Рис.1б.7):

Рис. 1б.7. MFC AppWizard - вікно 5

Перший параметр цього діалогового вікна дає змогу створити додаток з інтерфейсом, подібним до інтерфейсу Windows Explorer, - елементи керування для перегляду дерева та списку, розташовані поряд у поділеному на дві частини вікні. Залиште пункт MFC Standard вибраним, не змінюйте і наступний параметр.

9.Клацніть кнопку Next, щоб перейти до останнього діалогового вікна майстра AppWizard.(Рис. 1б.8).

Рис.1б.8. MFC AppWizard - вікно 6

Останнє діалогове вікно майстра AppWizard містить інформацію про класи та файли, які будуть створені. Можна змінити їх назви, коли не задовольняють стандартні. Можна змінити і базовий клас, від якого успадковується клас представлення додатку. Цей клас застосовується у MFC-додатках для відображення даних. Клацніть список Base Class, який розкривається, щоб переглянути доступні параметри. Цей список дуже важливий. Перелічені у ньому базові класи містять всі функції стандартних елементів керування, через які організується відображення даних. Якщо вибрати CRichEditView, тоді додаток буде оснований на повнофункціональному текстовому редакторі. Застосовуючи CHtmlView, можна написати програму на базі HTML-браузера. Запропонований за замовчуванням клас CView відображає порожнє вікно, у яке можна виводити дані у довільній формі. Клас CScrollView відрізняється від CView наявністю функції прокрутки, що дає змогу відобразити дані, які не вміщуються повністю на екрані монітора.

10.У розкритому списку Base Class виберіть CScrollView. Клацніть кнопку Finish, щоб перейти до діалогового вікна New Project Information, де наведена інформація про проект. Перевірте ще раз всі визначені параметри, оскільки після побудови проекту вже не можна буде нічого змінити, завантаживши AppWizard ще раз. Прочитавши дане резюме, клацніть кнопку ОК, після цього проект побудується та відкриється у новій робочій області.

11.У вікні Workspace виникне значок project1 Classes. клацнувши значок "+" поряд з ним, можна переглянути класи, створені майстром AppWizard.

12.Компілюйте з них виконавчий додаток.

13.Завантажте на виконання нову програму та перевірте, чи виникає вертикальна смуга прокрутки при зменшенні розмірів вікна додатку.

14.Зайдіть у меню File /Open вікна нового додатку та перевірте той факт, що для відкриття пропонуються імена файлів, що мають розширення pr1, яке ми вказали у вікні Advanced Options. Таким чином можна приєднувати файли до відповідних проектів.

AppWizard побудував додаток, який не тільки демонструє основні принципи використання бібліотеки MFC, але є відправною точкою для написання власного додатку користувача. Розглянемо стислий опис всіх файлів, які складають проект project1. Для цього перейдемо на вкладнику FileView та розкриємо всі наявні папки проекту.

project1.h – головний заголовковий файл додатку, який містить інші заголовкові файли проекту (серед яких Resource.h) та оголошує клас додатку СРroject1Арр.

project1.cpp - головний файл з вхідним текстом додатку, що містить клас додатку СРroject1Арр.

project1.rc - перелік всіх ресурсів Microsoft Windows, які використовуються у програмі. До них належать значки, растрові зображення та курсори, всі вони зберігаються у підкаталозі RES. Даний файл можна редагувати безпосередньо у Mіcrosoft Developer Studio.

res\Project1.ico – файл з зображенням, яке застосовується як значок додатку. Приєднується до головного ресурсного файлу Project1.rc.

res\Project1.rc2 – файл містить ресурси, які не можна редагувати у Mіcrosoft Developer Studio. В нього вміщуються всі ресурси, для яких відсутні спеціалізовані редактори.

project1.clwфайл містить інформацію, яка застосовується ClassWizard для модифікації існуючих чи додавання нових класів. ClassWizard також використовує цей файл для зберігання інформації, потрібної для створення та модифікування схем повідомлень та схем даних увікнах діалогів, а також для створення прототипів функцій.

Головне обрамлене вікно:

MainFrm.h, MainFrm.срр – файли містять клас обрамленого вікна СMainFrаmе, який є похідним від CFrameWnd та відповідає за всі аспекти роботи з обрамленими вікнами в інтерфейсі SDI.

res\Toolbar.bmp – растровий файл містить зображення значків на панелі інструментів. Початковий вигляд панелі інструментів та рядка стану конструюються у класі СMainFrаmе. Змінюючи файл разом з масивом з файлу MainFrm.срр, користувач може додавати нові кнопки на панель інструментів.

AppWizard створює один тип документу та один вигляд:

project1Doc.h, project1Doc.срр – документ. Файли містять клас CWelcomeDoc. Можна відредагувати їх для того, щоб внести у документ специфічні дані та реалізувати збереження/завантаження файлів (через CProject1Doc:Serialize)

project1View.h, project1View.срр – вигляд документу. Файли містять клас СРroject1View. Об’єкти СРroject1View застосовуються для перегляду об’єктів CProject1Doc.

Інші стандартні файли:

StdAfx.h, StdAfx.cppфайли застосовуються для побудови попередньо відкомпільованих файлів – заголовкового (РСН) з іменем project.pen, а також файлу типів StdAfx.obj.

Resource.hстандартний заголовковий файл, у якому визначаються ідентифікатори нових ресурсів. Mіcrosoft Developer Studio читає цей файл та поновлює його вміст.

AppWizard відмічає коментарем “TODO:”ті частини вхідного тексту, які потрібно доповнити чи змінити.

На завершення наведений перелік файлів, які створюються AppWizard при побудові SDI-додатку з іменем project1.

Перелік створених файлів Назва файлу

Призначення

Project1.clw

Файл ClassWizard

Project1.dsw

Основний файл робочої області

Project1.h

Заголовковий файл додатку

Project1.cpp

Вхідний текст додатку

StdAfx.h

Заголовковий файл для стандартного "каркасу" додатку

StdAfx.cpp

Вхідний текст стандартного "каркасу" додатку

MainFrm.h

Заголовковий файл головного вікна

MainFrm.cpp

Вхідний текст головного вікна

Project1Doc.h

Заголовковий файл документу

Project1Doc.cpp

Вхідний текст документу

Project1View.h

Заголовковий файл вигляду

Project1View.cpp

Вхідний текст вигляду

Resource.h

Файл з ресурсними константами

Project1.re

Файл з ресурсами

Project1.ncb

Файл з інформацією про представлення та взаємні зв’язки

Project1.dsp

Файл проекту

Завдання до лабораторної роботи №1.

  1. Виконати пункти 1..14 для побудови однодокументного додатку project1 – 5 балів.

  2. Побудувати додаток project1a, що відрізняється від project1 пунктом 10, а саме: замість CScrollView виберемо CEditView. Порівняти проекти – 5 балів.

  3. Побудувати додаток project1b, що відрізняється від project1b пунктом 10, а саме: замість CView виберемо CFormView. У діалоговому вікні, яке відчиниться, розташувати довільні об’єкти. Порівняти новий проект з попереднім – 5 балів.