Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекції_ІЗВП_укр.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
6.39 Mб
Скачать

3 Багатовіконний додаток Windows

Під багатовіконний додатком Windows ми будемо розуміти додаток, що використовує багатовіконний інтерфейс додатка (Multiple Document Interface, MDI). Подібні додатки є основними додатками Windows, тому надалі ми будемо в основному розглядати саме їх.

Щоб створити заготівлю віконного додатку Windows з використанням майстра AppWizard:

1. Закрийте всі відкриті проекти та файли і виберіть команду меню File, New. З'явиться діалогове вікно New, розкрите на вкладці Projects, як це показано на рис. 1.1.

2. Виділіть пункт MFC AppWizard (ехе) і введіть в текстове поле Project name ім'я проекту "MDI Application".

3. Натисніть кнопку ОК. З'явиться діалогове вікно MFC AppWizard - Step 1, зображене на рис. 1.5.

4. Залиште перемикач типу генерованого додатка в положенні Multiple documents (багатовіконний додаток) і не міняйте установку прапорця Document / View architecture support? (Використовувати архітектуру Документ / Представлення?).

5. Якщо використовувана вами версія Visual С + + не підтримує російську мову при генерації проектів, залиште в текстовому полі What language would you like your resources in? (Яку мову слід використовувати при створенні ресурсів?) Значення Англійська (США) (APPWZENU.DLL).

6. Натисніть кнопку Next>. З'явиться діалогове вікно MFC AppWizard - Step 2 of 6, зображене на рис. 1.12.

Рис 1.11 - Діалогове вікно MFC AppWizard - Step 2 of 6

• Група перемикачів What database support would you like to include? (Яким чином в проекті будуть використані бази даних) має наступні положення:

  • None (Бази даних не використовуються). Це установка за замовчуванням

  • Header files only (Лише файли заголовків). Перемикач слід встановлювати в це положення, якщо ви хочете мати доступ до бази даних, але не хочете, щоб ваш клас уявлення був похідним від класу CFormView, або не хочете мати меню Record

  • Database view without file support (Перегляд баз даних без файлової підтримки). Перемикач слід встановлювати в це положення, якщо ви хочете, щоб ваш клас уявлення був похідним від класу CFormview, або хочете мати меню Record, але не потребуєте використанні вбудованих в документ методів роботи з архівом (використовувати метод serialize)

  • Database view with file support (Бази даних при наявності файлової підтримки). Перемикач слід встановлювати в це положення, якщо ви потребуєте у всіх можливостях, що надаються попередньої установкою перемикача, і хочете використовувати вбудовані в документ методи роботи з архівом

• У випадку, якщо ви встановили перемикач в останні два положе ¬ ня, вам доведеться натиснути кнопку Data Source ... (Джерело даних) і вибрати вихідну базу даних

7. Натисніть кнопку Next>. З'явиться діалогове вікно MFC AppWizard - Step 3 of 6, зображене на рис. 1.12.

Ріс.1.12 - Діалогове вікно MFC AppWizard - Step 3 of 6

• Група перемикачів What compound document support would you like

to include? (Яким чином в проекті будуть використані составні документи?) Має наступні положення:

  • None (Составні документи не використовуються). Це установка за замовчюванням

  • Container (Контейнер). При даній установці перемикача ваш додаток зможе утримувати пов'язані або упроваджені об'єкти ActiveX, такі як документи Word або Excel

  • Mini-server (Міні-сервер). При даній установці перемикача ваш додаток буде здатний створювати документи, які можуть впроваджуватися в інші програми, але які не передбачається запускати як самостійні програми

  • Full-server (Повноцінний сервер). При даній установці перемикача ваш додаток буде створювати документи, які не тільки можуть впроваджуватися в інші програми, але і запускатися як самостійні програми

  • Both container gnd server (Одночасно сервер і контейнер). При даній установці перемикача ваш додаток буде створювати документи, які не тільки можуть впроваджуватися в інші програми, але і документи інших додатків матимуть можливість впроваджуватися в ваш додаток

• Якщо ваш додаток буде сервером, то у вас з'явиться можливість встановити прапорець Active document server (Сервер активного документа), а якщо ваш додаток є контейнером, то у вас з'явиться можливість встановити прапорець Active document container (Контейнер активного документа). Обидва цих прапорця за умовчанням скинуті. Якщо ви встановите хоч би один з них, то на наступному етапі вам доведеться натиснути кнопку Advanced і визначити розширення для оброблюваного документа. Якщо ви цього не зробите, то не зможете не тільки перейти до наступного вікна, але і повернутися до даного і зняти цей прапорець

• Якщо ви вибрали підтримку складових документів, то вам необхід ¬ мо вибрати і підтримку складових файлів (compound files). Складові файли містять один або декілька об'єктів ActiveX і повинні зберігатися особливим чином, щоб будь-який об'єкт міг бути змінений без необхідності внесення змін до увесь файл, що дозволяє економити масу часу

• Група перемикачів Would you like support for compound files?

(Чи використовувати складові файли?) Має наступні положення:

Yes, please (Увімкніть, будь ласка). Це установка за замовчуванням No, thank you (Спасибі, не треба)

• Група What other support would you like to include? (Що ще включити в проект?) Містить наступні прапорці:

  • Automation (Автоматизація). Цей прапорець слід установити в тому випадку, якщо ви хочете, щоб ваш додаток передавал управління іншому додатку за допомогою механізму Automation. За замовчуванням така можливість не надається

  • ActiveX Controls (Елементи управління ActiveX), Цей прапорець слід установити, якщо в додатку передбачається використання елеметів управління ActiveX. Використання подібних елементів управління у проекті передбачається за замовчуванням

8. Залиште всі елементи управління в їх положенні за замовчуванням і на-тисніть кнопку Next>. З'явиться діалогове вікно MFC AppWizard - Step 4 of 6, зображене на рис. 1.14.

• У групу What features would you like to include? (Які властивості поса ¬ но мати створюване вікно?) Об'єднані наступні прапорці:

Docking toolbar (перемішати панель інструментів). При встановленні цього прапорця головне вікно програми буде містити панель інструментів, яка може бути розташована уздовж будь-якої з його сторін. За замовчуванням цей прапорець встановлений

Див також главу 9

Initial status bar (Панель стану). При встановленні цього прапорця головне вікно програми буде містити панель стану, що відображає довідкову інформацію по пунктах меню, кнопок панелі інструментів, а також іншу довідкову інформацію. За замовчуванням цей прапорець установлено

Див також главу 9

Printing and print preview (Друк і попередній перегляд друку). При установці цього прапорця в меню File (Файл) створюваного додатка будуть перебувати пункти Erint (Друк) і Print preview (Попередній перегляд друку), а майстер включить в додаток більшу частину програмного коду, пов'язаного з реалізацією цих завдань. За замовчуванням цей прапорець встановлений

Див також розділ 10

Context-sensitive Help (Контекстна довідка). При установці цього прапорця в створюваний додаток включається довідкова система. За замовчуванням цей прапорець знятий.

3D controls (Об'ємні елементи управління). При установці цього прапорця в створюваному додатку будуть використовуватися об'ємні елементи управління. За замовчуванням цей прапорець встановлений

MAPI (Messaging API) (Поштовий інтерфейс MAPI). При установці цього прапорця створюване додаток зможе обмінюватися сообщенямиповідомленнями по електронній пошті і відправляти факси. За замовчуванням цей прапорець знятий

Windows Sockets (Підтримка Internet). При установці цього прапорця створюване додаток зможе мати безпосередній доступ до Internet, використовуючи такі протоколи, як FTP і HTTP. За замовчуванням цей прапорець знятий

• Група перемикачів How do you want your toolbars to look? (Як повинна виглядати панель інструментів?) Має наступні положення;

Normal (Нормальна). При даній установці перемикача ваш додаток буде мати стандартну панель інструментів. Це установка за замовчуванням

Internet Explorer ReBars (Панелі інструментів Internet Explorer). При даній установці перемикача ваш додаток буде мати панель інструментів, виконану в стандарті браузера Internet Explorer

• У текстовому полі з інкрементний регулятором How many files would you like on your recent file list? (Скільки імен файлів повинен містити список останніх закритих файлів?) Встановлюється розмірність списку останніх закритих файлів

• Натискання кнопки Advanced (Додаткові установки) дозволяє провести додаткові установки. При її натисненні з'являється діалогове вікно Advanced Options (Додаткові установки), зображено на рис. 1.15

• Зі всіх текстових полів даного вікна нас найбільше цікавить текстове поле File extension: (Розширення файлу), оскільки саме в нього повинна бути введена інформація про розширення файлу документа, що оброблюється, якщо на третьому кроці майстра ви встановили прапорець Active document server або прапорець Active document container

• Як вже говорилося раніше, при установці зазначених прапорців без за-повнення цього текстового поля користувач не зможе завершити четвертий крок майстра AppWizard

9. Закрийте, якщо ви його відкрили, діалогове вікно Advanced Options, ос-залиште без зміни всі установки за замовчуванням і натисніть кнопку Hext> в діалоговому вікні MFC AppWizard - Step 4 of 6. З'явиться діалогове вікно MFC AppWizard - Step 5 of 6, зображене на рис. 1.16.

• Група перемикачів What style of project would you like? (Який стиль слід обрати для створюваного проекту?) Має наступні положення:

MFC Standard (В стандарті MFC). При даній установці перемикача буде створено стандартне додаток, що використовує бібліотеку MFC. Його зовнішній вигляд наведено на рис. 1.17. Це установка за замовчуванням

Windows Explorer (Стиль браузера Internet). Зовнішній вигляд отриманого при цій установці додатка з ім'ям ExplorerApplication приведено на рис. 1.18

• Група перемикачів Would you like to generate source file comments?

(Чи включати коментарі в тексти вихідних файлів?) Має наступні положення:

Yes, please (Увімкніть, будь ласка). Це установка за замовчуванням No, thank you (Спасибі, не треба)

• Група перемикачів How would you like to use the MFC library?

(У якому вигляді використовувати бібліотеку MFC?) Має наступні положення:

As a shared DLL (Як «разделяемые» бібліотеки динамічної компоновки). Такий вибір зменшує розмір виконуваного файлу і знижують обсяг використовуваної оперативної пам'яті. Це установка на вимогу

As a statically linked library (Як статичні бібліотеки). Такий вибір дозволяє програмі працювати на комп'ютері, де не встановлені необхідні бібліотеки динамічного компонування

Ці перемикачі аналогічні установкам на кроці 3 створення діалогового додатка

10. Залиште без зміни всі установки за замовчуванням і натисніть кнопку-Next>. З'явиться діалогове вікно MFC AppWizard - Step 6 of 6, зображено на рис. 1.19.

Це вікно і його поля аналогічні діалоговому вікну, одержуваному на кроці 4 створення діалогового додатку. Однак при створенні багатовіконного додатка виникає одне питання, яке доцільно висвітлити саме в цьому місці

Як видно з рис. 1.19, майстер AppWizard збирається створити класи з іменами CMDiAppiicetionview і CMDiAppiicetionDoc. Це класи уявлення і документа. Їх імена пов'язані з ім'ям додатка. Цей підхід доцільний в разі, коли в додатку буде тільки один клас уявлення і пов'язаний з ним клас документа. Однак у більшості випадків в багатовіконному додатку доводиться працювати з декількома класами документів і відповідними їм класами уявлення. У цьому випадку, якщо не внести зміни в імена цих класів, одна пара класів отримує "сліпі" імена, не пов'язані з особливостями оброблюваних ними документів і подань. Звичайно, можна знищити створені майстром класи, але доцільніше просто перейменувати ці класи по імені одного з видів оброблюваних документів. В даному випадку створюється демонстраційне додаток, тому імена класів залишені без змін

Список, що розкривається Base class: дозволяє вибрати базовий клас для класу подання даного документа. Якщо додаток створюється для виведення графічної інформації, то немає необхідності змінювати обраний за замовчуванням базовий клас cview. Однак якщо додаток передбачається використовувати як текстовий редактор, то в якості базового класу слід вибрати клас CEditview або клас CRichEditview, як це описано в розділі 8. Існують і інші випадки, в яких необхідно змінювати вміст текстового поля списка, що розкривається Base class:

Якщо ви згодні з наведеним в даному вікні переліком створюваних файлів і класів, перейдіть до п. 12.

11. При необхідності внесіть необхідні зміни в текстові поля даного вікна або натисніть кнопку <Васк і внесіть зміни в вміст попередніх вікон, як це було описано в пп. 8-10 методики створення діалогового додатків.

12. Натисніть кнопку Finish. З'являється діалогове вікно New Project Infor-mation, зображене на рис. 1.20.

Це вікно вже розглядалося при описі створення попередніх проектів 13. Якщо ви згодні створити описаний в цьому вікні проект, натисніть кнопку ОК. Буде створений проект, докладно розглянутий у главі 2.