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

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) указатель на строку.

4. Преимущества использования 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 -приложениями.

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