
- •Лекція №1 Тема: Мова програмування: загальні поняття та означення. Загальні поняття візуального програмування план
- •2. Інтегроване середовище розробки
- •3. Основні поняття візуального програмування
- •4. Етапи розв’язування задачі на еом
- •Лекція № 2
- •Поняття та призначення відладчика програми.
- •Інтегроване середовище розробки програм. Керовані і некеровані програми
- •Поняття та призначення відладчика програми
- •3. Інтегроване середовище розробки програм. Керовані і некеровані програми
- •Контрольні запитання
- •Лекція 3
- •1 Консольний додаток
- •2. Діалоговий додаток
- •3 Багатовіконний додаток Windows
- •4.Одновіконний додаток
- •Контрольні запитання
- •Лекція № 4
- •2. Оголошення або специфікація класу
- •3. Реалізація класу
- •Контрольні запитання
- •Лекція 5
- •1. Програмне середовище Windows
- •2. Основи програмування під Windows
- •3. Типи даних в Windows
- •Переваги використання mfc (самостійно)
- •5. Архітектура додатка
- •6. Типи майстрів проектів (самостійно)
- •7. Обробка подій в додатках класу mfc
- •Повідомлення миші
- •Введення за допомогою миші
- •Контрольні запитання
- •Лекція 6 Тема: Програмування інтерфейсу користувача: кнопки, списки план:
- •2. Обробка натискання кнопки
- •3. Клас cListBox
- •2. Завдання реакції на вибір в ComboBox
- •3. Операції з елементами
- •4. Діалог в якості головного вікна
- •Контрольні запитання
- •Лекція 8 Тема: Програмування інтерфейсу користувача: меню, діалогові вікна план
- •2. Створення обробника меню
- •3. Додавання діалогового вікна
- •4. Додавання діалогу за допомогою класу
- •5. Обмін даними з діалогом
- •4. Назвіть послідовність етапів створення діалогу за допомог класу?
- •2. Забезпечення видалення, редагування, додавання записів в бд
- •3. Забезпечення сортування та фільтрації записів з бд.
- •4.Стандарт odbc і dao
- •Контрольні запитання
3. Типи даних в Windows
У Windows-програмах взагалі (і в які використовують бібліотеку MFC зокрема) не надто широко застосовуються стандартні типи даних з С або С + +, такі як int або char *. Замість них використовуються типи даних, визначені в різних бібліотечних (header) файлах. Найбільш часто використовуваними типами є HANDLE, HWND, BYTE, WORD, DWORD, UNIT, LONG, BOOL, LPSTR і LPCSTR.
- Тип HANDLE позначає 32-розрядне ціле, використовуване як дескриптора. Є кілька схожих типів даних, але всі вони мають ту ж довжину, що і HANDLE, і починаються з літери Н.
Дескриптор - це просто число, що визначає деякий ресурс.
- Наприклад, тип HWND позначає 32-розрядне ціле - дескриптор вікна. У програмах, які використовують бібліотеку MFC, дескриптори застосовуються не настільки широко, як це має місце в традиційних програмах.
- Тип BYTE позначає 8-розрядне беззнакове символьне значення
- Тип WORD - 16-розрядне беззнакове коротке ціле,
- Тип DWORD - беззнакове довге ціле,
- Тип UNIT - беззнакове 32-розрядне ціле.
- Тип LONG еквівалентний типу long.
- Тип BOOL позначає ціле і використовується, коли значення може бути або істинним, або хибним.
- Тип LPSTR визначає покажчик на рядок,
- Тип LPCSTR - константний (const) покажчик на рядок.
Переваги використання mfc (самостійно)
Головна частина бібліотеки MFC складається з класів, використовуваних для побудови компонентів додатка. З кожним MFC-додатком зв'язується визначає його на верхньому рівні об'єкт theApp, що належить класу, похідного від CWinApp.
Як правило, структура додатка визначається архітектурою Document-View (документ-вигляд). Це означає, що додаток складається з одного або декількох документів - об'єктів, класи яких є похідними від класу CDocument (клас "документ"). З кожним з документів пов'язані один або кілька видів - об'єктів класів, похідних від CView (клас "зовнішність") і визначають вигляд документа.
Клас CFrameWnd ("вікна-рамки") і похідні від нього визначають вікна-рамки на дисплеї. Елементи управління, створювані при проектуванні інтерфейсу користувача, належать сімейству класів елементів управління. З'являються в процесі роботи додатка діалогові вікна - це об'єкти класів, похідних від CDialog.
Класи CView, CFrameWnd, CDialog і всі класи елементів управління успадковують властивості і поведінку свого базового класу CWnd ("вікно"), визначального по суті Windows-вікно. Цей клас в свою чергу є спадкоємцем базового класу CObject ("об'єкт").
Одна з труднощів у розумінні принципів устрою MFC-додатки, полягає в тому, що об'єкти, з яких воно будується, успадковують властивості та поведінку всіх своїх предків, тому необхідно знати базові класи.
Як уже згадувалося, MFC - це базовий набір (бібліотека) класів, написаних на мові С + + і призначених для спрощення і прискорення процесу програмування для Windows. Бібліотека містить багаторівневу ієрархію класів, що налічує близько 200 членів. Вони дають можливість створювати Windows-додатки на базі об'єктно-орієнтованого підходу. З точки зору програміста, MFC являє собою каркас, на основі якого можна писати програми для Windows.
Бібліотека MFC розроблена для спрощення завдань, що стоять перед програмістом. Як відомо, традиційний метод програмування під Windows вимагає написання досить довгих і складних програм, що мають ряд специфічних особливостей. Зокрема, для створення тільки каркаса програми таким методом знадобиться близько 75 рядків коду. У міру ж збільшення складності програми її код може досягати воістину неймовірних розмірів. Однак та ж сама програма, написана з використанням MFC, буде приблизно в три рази менше, оскільки більшість приватних деталей приховано від програміста.
Однією з основних переваг роботи з MFC є можливість багаторазового використання одного і того ж коду. Так як бібліотека містить багато елементів, загальних для всіх Windows-додатків, немає необхідності кожен раз писати їх заново. Замість цього їх можна просто наслідувати (говорячи мовою об'єктно-орієнтованого програмування). Крім того, інтерфейс, забезпечуваний бібліотекою, практично незалежний від конкретних деталей, його реалізують. Тому програми, написані на основі MFC, можуть бути легко адаптовані до нових версій Windows (на відміну від більшості програм, написаних звичайними методами).
Ще однією істотною перевагою MFC є спрощення взаємодії з прикладним програмним інтерфейсом (API) Windows. Будь-який додаток взаємодіє з Windows через API, який містить кілька сот функцій. Значний розмір API ускладнює спроби зрозуміти і вивчити його цілком. Часто навіть складно простежити, як окремі частини API пов'язані один з одним! Але оскільки бібліотека MFC об'єднує (шляхом інкапсуляції) функції API в логічно організоване безліч класів, інтерфейсом стає значно легше управляти.
Оскільки MFC являє собою набір класів, написаних на мові С + +, тому програми, написані з використанням MFC, повинна бути в той же час програмами на С + +. Для цього необхідно володіти відповідними знаннями. Для початку необхідно вміти створювати власні класи, розуміти принципи спадкування і вміти перевизначити віртуальні функції. Хоча програми, що використовують бібліотеку MFC, звичайно не містять занадто специфічних елементів з арсеналу С + +, для їх написання проте потрібні солідні знання в даній області.
Зауваження. Невелике число класів, визначених у бібліотеці, не пов'язане безпосередньо з програмуванням під Windows. Це, зокрема, класи, призначені для створення рядків, управління файлами і обробки особливих ситуацій. Іноді звані класами загального призначення, вони можуть використовуватися як Windows-, так і не-Windows-додатками.