Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual1.doc
Скачиваний:
8
Добавлен:
07.03.2016
Размер:
4.35 Mб
Скачать

Розділ 1. Загальні відомості створення додатку windows

1.1. Створення додатку Windows за допомогою майстра AppWizard

До складу Visual C++ входить не тільки компілятор програмного коду але і генератор додатків Windows AppWizard, який створює фрагменти програмного коду.

Майстер створення додатків AppWizard дозволяє створювати багато різних типів додатків, проте, самий розповсюджений додаток – це виконувана програма (файл програми з розширенням .ехе). Крім того, AppWizard надає можливість отримати готові фрагменти програмного коду – класи, об'єкти, функції, які мають місце при розробці програмного забезпечення. Для того щоб створити програму подібного типу необхідно вибрати File → New, а потім - вкладку Projects у вікні New, як це показано на рис. 1.1.

Рис. 1.1. Вибір типу нового проекту у середовищі Visual Studio

На вкладці Projects у вікні New можна вибрати тип відповідного проекту. У нашому випадку це проект MFC AppWizard (ехе).

В полі Project name необхідно вказати ім’я проекту і натиснути кнопку OK. Подальші дії AppWizard пронумеровані як окремі етапи (step), причому номер поточного етапу знаходиться в рядку заголовка вікна MFC AppWizard. На кожному етапі потрібно вибрати функцію створюваного додатка, а потім натиснути кнопку Next. На будь-якій стадії можна повернутися до попереднього етапу, натиснувши кнопку Back. Якщо ж натиснути кнопку Cancel, процес створення програми взагалі буде перерваний, а всі попередні налаштування скасовані. Оперативна довідка по поточному етапу викликається на екран за допомогою кнопки Help, а кнопка Finish дозволяє завершити сеанс настройки, пропустивши наступні етапи. Останній засіб рекомендується використовувати тільки на заключному етапі. Кожному етапу налаштування AppWizard присвячений окремий пункт цього розділу.

Всі MFC-додатки використовують бібліотеку класів Microsoft Foundation Classes (MFC).

Вибір кількості вікон, які будуть підтримуватися додатком.

Перше, що повинен визначити програміст, приступаючи до роботи в AppWizard, – скільки вікон буде підтримувати майбутній додаток, тобто чи буде він MDI-додатком, SDI-додатком або простим діалоговим додатком. Для кожного з цих типів додатків AppWizard по-різному створює програмний код і класи. Вікно MFC AppWizard при цьому буде виглядати так, як показано на рис. 1.2.

Рис. 1.2. Перший етап створення типового додатку за допомогою AppWizard: вибір варіанта інтерфейсу користувача

Подробиці про кожний з цих типів додатків наведено нижче.

• SDI-додаток (SDISingle Document Interface; інтерфейс з єдиним документом) дозволяє в кожний момент часу мати відкритим лише один документ. Прикладом може служити редактор Notepad. Якщо ви виберете в такому додатку File → Open, то відкритий в поточний момент файл буде закритий, і тільки після цього відкриється новий. Створення SDI-додатку налаштовується у вікні MFC AppWizard перемикачем Single document.

• MDI-додаток (MDI Multiple Document Interface; дослівно – "багатодокументний інтерфейс") може одночасно тримати відкритими декілька документів, кожний з яких представлений окремим файлом. У якості прикладів виступають додатки Microsoft Office – це MS Excel, та MS Word тощо. Такі програми обов'язково мають у головному меню пункт Window, а в меню File - пункт Close. Одна з особливостей MFC полягає в тому, що якщо необхідно створити додаток з кількома видами (view) одного і того ж документа, то його слід при настройці AppWizard віднести до типу MDI-додатків. Створення MDI-додатку налаштовується у вікні MFC AppWizard перемикачем Multiple documents.

• Простий діалоговий додаток взагалі не відкриває документів. Прикладом може служити представлений на рис. 1.3 додаток Character Map і багато інших простих додатків, які входять в базовий комплект Windows. Такі програми не мають меню. (Додаток Character Map (Таблиця символів), знаходиться в папці Accessories (Стандартні), до якої можна звернутися, натиснувши кнопку Start (Пуск). Створення програми цього типу налаштовується у вікні MFC AppWizard перемикачем Dialog based.

Рис. 1.3. Типовий приклад простого діалогового додатку Character Map

У лівій частині вікна MFC AppWizard після вибору перемикача типу програми з'явиться відповідний зразок створюваного додатку.

Нижче цієї групи перемикачів у діалоговому вікні знаходиться прапорець Document / View architecture support (Підтримка архітектури документ / вид). Особливості архітектури документ / вид будуть детально роз'яснені в розділі 9.3. посібника. Користувачі, які мають великий досвід розробки додатків в середовищі Visual C++, можуть відключити підтримку цієї архітектури майстром, але для більшості розробників вона буде зовсім не зайвою. Тому надалі, якщо не буде обумовлено, то будемо вважати, що прапорець Document / View architecture support встановлений.

Ще нижче у вікні MFC AppWizard знаходиться список, що розкривається для вибору мови, яку ви збираєтеся використовувати при написанні тексту програми. Якщо системна мова операційної системи, не задана за замовчуванням English (United State's), – американський варіант англійської, треба зробити такий же вибір і в списку. Для переходу до наступного діалогового вікна майстра треба натиснути кнопку Next.

Бази даних.

Другий етап створення додатку Windows за допомогою AppWizard – вибір рівня підтримки операцій з базами даних. Вікно MFC AppWizard при цьому буде виглядати наступним чином (рис. 1.4.).

Рис. 1.4. Другий етап створення типового додатку за допомогою AppWizard: вибір варіанта підтримки операцій з базами даних

Пропонується чотири варіанти рівня підтримки:

• Якщо робота з базами даних в додатку не планується, оберіть перемикач None (Ніякої).

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

• Якщо не планується розробляти класи перегляду бази даних в додатку як похідні від CFormView і мати меню Record, але немає потреби в засобах збереження-відновлення документів, обирається перемикач Database view without file support (Перегляд бази даних без підтримки операцій з файлами). Можна буде оновлювати записи в базі даних за допомогою CRecordset – класу MFC, який детально описується урозділі 10.

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

У розділі 10, більш докладно описуються наслідки кожного варіанту вибору і демонструється методика програмування баз даних з використанням MFC. Якщо обирається один з варіантів з використанням бази даних, в цьому ж вікні треба вибрати тип бази. Для цього потрібно натиснути кнопку Data Source (Джерело даних).

Картинка у лівій частині вікна MFC AppWizard змінюється після вибору будь-якого із запропонованих варіантів звернення до бази даних, демонструючи наслідки зробленого вибору. Для переходу до наступного діалогового вікна майстра необхідно натиснути кнопку Next.

Підтримка складових документів.

Третій етап створення виконуваного додатку Windows за допомогою AppWizard – вибір рівня підтримки операцій із складеними документами. Вікно MFC AppWizard при цьому буде виглядати так, як показано на рис. 1.5. Технологія OLE (Object Linking and Embedding – зв'язування та впровадження об'єктів) в даний час отримала нову назву – технологія ActiveX. Вона підкреслює напрямок розвитку цієї технології, прихований від більшості програмістів бібліотекою класів MFC. Та й інша технології являють собою деяку підмножину технології складених документів (compound document technology). Докладно технологія ActiveX розглядається в розділі 12.

На вибір пропонується п'ять варіантів підтримки.

• Якщо не планується створення ActiveX-додатку, оберіть перемикач None (Ніякої).

• Якщо в додатку використовуються зв'язані або впроваджені об'єкти ActiveX, такі як документи MS Word або робочі листи MS Excel, обирається перемикач Container (Контейнер).

Рис. 1.5. Третій етап створення типового додатку за допомогою AppWizard: вибір варіанта підтримки технології складених документів

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

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

• І, нарешті, якщо створюваний додаток повинен мати здатність включати документи інших додатків та обслуговувати їх своїми об'єктами, необхідно вибрати перемикач Both container and server (І контейнер, і сервер).

Якщо вже вибрано який-небудь з варіантів підтримки складених документів, то доведеться підтримувати і складені файли (compound files). Складені файли містять один або більше об'єктів ActiveX і зберігаються на диску в особливому форматі, так що один з об'єктів може бути замінений без перезапису всього файлу. Таким чином можна зекономити досить багато часу. У середині вікна MFC AppWizard Step 3 є група Would you like to support compound files? (He, бажаєте замовити підтримку складених файлів?) з двох перемикачів.

Якщо треба, щоб створюваний додаток міг передавати управління іншому додатку через механізм автоматизації ActiveX, необхідно встановити прапорець Automation (Автоматизація). Якщо планується використовувати в додатку елементи управління ActiveX, необхідно встановити прапорець ActiveX Controls (Елементи управління ActiveX). A тепер треба натиснути кнопку Next для того, щоб перейти до наступного етапу.

Технологія створення за допомогою майстра ControlWizard додатків, які є елементами управління ActiveX, описана в розділі 12.

Зовнішній вигляд програми та інші опції.

Четвертий етап створення виконуваного додатку Windows за допомогою AppWizard – вибір опцій, що визначають зовнішній вигляд елементів призначеного для користувача інтерфейсу. Вікно MFC AppWizard при цьому буде виглядати так, як показано на рис. 1.6.

Діалогове вікно MFC AppWizard - Step 4 of 6 містить багато перемикачів-прапорців, які відповідають опціям оформлення.

Docking toolbar (панель інструментів). AppWizard встановлює у додатку панель інструментів, яка може бути зафіксована до однієї з меж вікна. Потім можна буде видалити непотрібні піктограми з панелі або додати нові, пов'язані з тими пунктами меню, які потрібно включити у свій додаток. Вся технологія розробки меню і панелей інструментів в додатку описана у розділі 4.

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

Рис. 1.6. Четвертий етап створення типового додатку за допомогою AppWizard: установка опцій користувацького інтерфейсу

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

Context sensitive Help (Контекстна довідка). Меню Help у додатку буде мати опції Index і Using Help, а значна частина програмного коду, необхідного для організації контекстної довідки в додатку, буде включено до нього майстром AppWizard.

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

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

Windows Sockets. Якщо ця опція буде встановлена, додаток зможе мати безпосередній доступ до Internet через такі протоколи, як FTP і HTTP (протокол World Wide Web). Можна створити Internet-програму і без підтримки Windows Sockets, якщо використовувати нові класи WinInet.

Майстру AppWizard можна замовити створення панелей інструментів у традиційному стилі, як у MS Word або в самому продукті Visual C++, або в новому стилі оформлення, прийнятому в Internet Explorer.

Можна також встановити довжину списку найчастіше використовуваних файлів в поле меню File створюваного додатку. Для цього служить список, що розкривається – How many files would you like on your recent file list?. За умовчанням цей параметр має значення 4.

Після натиснення на кнопці Advanced (Додатково) в нижній частині діалогового вікна MFC AppWizard Step 4 на екран буде виведено нове діалогове вікно Advanced Options (Додаткові опції), яке має дві вкладки. На рис. 1.7 показана одна з них – Document Template Strings (Строкові шаблони документів). Справа в тому, що AppWizard формує численні запити та ідентифікатори, приймаючи в якості головного змінного елементу назву програми і іноді йому необхідні абревіатури цього імені. Тут же їх можна при бажанні відкоригувати, а також уточнити напис, який буде виведено в рядку заголовка головного вікна додатку. Якщо встановити розширення імені файлу в поле File extension, воно буде автоматично додаватися до імен всіх файлів, які записуються на диск додатком. Аналогічно по команді File → Open у відповідному діалоговому вікні будуть виведені за замовчуванням тільки файли з заданим розширенням.

Рис. 1.7. Уточнення імен в додатку на вкладці Document Template Strings діалогового вікна Advanced Options

На рис. 1.8 показана інша вкладка – Window Styles (Стилі оформлення вікон). У цьому вікні можна кардинально змінити дизайн вікон програми. Перший прапорець – Use Split Window (Використання поділу вікна). При його натисканні в додаток включається весь програмний код, необхідний для організації розподілу вікна програми таким же чином, як це зроблено, наприклад, в редакторі програмного коду з комплекту засобів Visual Studio. Інші елементи діалогового вікна встановлюють параметри, що визначають оформлення фрейму (рамки) головного вікна програми, а для MDI-додатків – фреймів дочірніх вікон (child frames). Фрейм є досить важливим елементом вікна; системне меню, рядок заголовка, кнопки мінімізації та максимізації, межі вікна – все це властивості фрейму як об'єкта. Фрейм головного вікна містить весь SDI-додаток. MDI-програма має кілька дочірніх вікон (по одному на кожний документ), які розміщуються в межах головного, батьківського, вікна.

Нижче перераховані властивості фрейму, які можна налаштовувати у вкладці.

Thick frame (властивість зміни розмірів вікна). Можна змінювати розміри вікна стандартним для Windows способом.

Minimize box (кнопка мінімізації). Вікно має кнопку мінімізації в правій частині рядка заголовка.

Рис. 1.8. Налаштування інтерфейсу програми у вкладці Window Styles діалогового вікна Advanced Options

Maximize box (кнопка максимізації). Вікно має кнопку максимізації в правій частині рядка заголовка.

System menu (системне меню). У лівому верхньому кутку вікна буде встановлена піктограма виклику системного меню.

Minimized. При запуску програми вікно згортається в піктограму. Для SDI-додатків вибір цієї опції не буде мати жодних наслідків при виконанні програми в середовищі Windows.

Maximized. При запуску програми вікно розгортається на весь екран. Для SDI-додатків вибір цієї опції не буде мати жодних наслідків при виконанні програми в середовищі Windows.

Після завершення всіх маніпуляцій треба натиснути на Close для повернення у вікно MFC AppWizard - Step 4 of 6, а потім на Next – і відбудеться перехід до наступного етапу.

Інші функції.

П'ятий етап створення виконуваного додатку Windows за допомогою AppWizard – вибір опцій, які не можна було віднести за призначенням до жодного з попередніх етапів. Вікно MFC AppWizard - Step 5 of 6 при цьому буде виглядати так, як показано на рис. 1.9. Для включення у сформований текст програм додатку коментарів потрібно просто вибрати один з перемикачів групи Would you like to generate source file comments?(He чи буде вам завгодно включити в текст програми коментарі ?).

Рис. 1.9. П'ятий етап створення типового додатку за допомогою AppWizard: установка опцій, що визначають оформлення формованого тексту програми і метод зв'язування програми з модулями бібліотеки MFC

У наступній опції вибирається засіб взаємодії бібліотеки MFC із створюваним додатком – або MFC є динамічно пов'язуваною бібліотекою (shared DLL) або статично компонованною (statically linked library). Динамічно пов'язувана бібліотека (DLL – Dynamic-Link Library) являє собою безліч функцій, що використовуються різними додатками. Використання DLL скорочує обсяг програми, але ускладнює установку продукту. Якщо відбудеться перенесення на інший комп'ютер виконуваного файлу програми, то, швидше за все, додаток працювати не буде, оскільки він потребує ще й відповідних DLL-файлів. Якщо ж модулі бібліотеки скомпоновані статично до виконуваного файлу, то додаток легко переміщується з одного комп'ютера на інший, оскільки весь виконуваний код зосереджений в одному файлі (exe-файл).

При виборі опції As a shared DLL на комп’ютер замовника треба встановити модулі DLL з бібліотеки MFC, а exe-файл буде коротким. Якщо ж вибрати опцію As a statically linked library – всі виконувані функції будуть знаходитись у exe-файлі. У результаті вийде більший exe-файл, але не треба встановлювати модулі DLL для роботи з функціями бібліотеки MFC.

Імена файлів і класів.

Останнім етапом створення виконуваного додатку Windows за допомогою AppWizard є підтвердження імен класів та імен файлів, які створює AppWizard, як це показано на рис. 1.10. AppWizard використовує ім'я проекту (у даному випадку – FirstSDI) для формування імен класів та імен файлів. Немає ніякої потреби їх змінювати. Якщо в додатку використовуються класи виду, можна змінити ім'я класу, спадкоємцями якого є новостворювані класи. За замовчуванням базовим є CView, але багато розробників вважають за краще CScrollView або CEditView. У розділі 9, детально розглядаються класи видів документів. Після завершення роботи у вікні MFC AppWizard - Step 6 of 6 натисніть на Finish.

Рис. 1.10. Останній етап створення типового додатку за допомогою AppWizard: підтвердження імен класів і файлів

Створення програми.

Після того як ви натисните кнопку Finish, AppWizard покаже вам у вікні New Project Information (Інформація про новий проект), що він збирається створювати (рис. 1.11). Якщо що-небудь у цьому вікні не влаштовує користувача, необхідно натиснути на Cancel і потім послідовно рухатись в зворотному порядку по вікнах етапів налаштування, натискаючи на Back (Назад), поки не буде знайдене необхідне вікно для зміни параметрів налаштування. Після уточнення налаштування необхідно послідовно продивитися етапи за допомогою кнопок Next та Finish, та ще раз проглянути вікно New Project Information, і вже після цього натиснути ОК. AppWizard приступить до створення програми: створить програмний код, меню, діалогові вікна, тексти довідок, растрові картинки тощо.

Рис. 1.11. Вікно інформації про новий проект (New Project Information)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]