1.4. Обзор классов библиотеки MFC
Для обеспечения возможности программирования приложений для Windows с использованием объектно-орентированного подхода фирма Microsoft предлагает библиотеку классов MFC (Microsoft Foundation Classes).
Эта библиотека представляет собой объектно-ориентированную оболочку API. В настоящее время библиотеку составляют более 200 классов, но для создания простых приложений вполне достаточно около 20.
Это классы для организации архитектуры приложения, классы для работы с окнами, классы для работы с файлами, классы для организации графического вывода и некоторые другие. Ниже приведены фрагменты
диаграммы наследования классов библиотеки MFC.

Имена всех классов имеют приставку С , а следуя венгерской нотации имена членов класса начинаются с приставки m_ . Большинство классов этой библиотеки MFC являются наследниками
от класса CObject , в котором реализовано хранение информации о классе времени выполнения, поддержка серилизации и диагностики.

Все классы наследники от CCmdTarget умеют принимать и обрабатывать сообщения. Класс CWinApp является базовым при построении любого Windows приложения. Существенная часть
классов MFC обеспечивают создание приложений с поддержкой механизма OLE (Object Linking and Embedding), но мы на них отвлекаться не будем.
Классы для работы с окнами и элементами управления являются наследниками от класса CWnd . Среди них следует выделить классы "рамы" для однодокументных (CFrameWnd )
и многодокументных (CMDIFrameWnd , CMDIChildWnd ) приложений, классы для внутреннего представления окон (CView ), классы для формирования и работы с диалоговыми
окнами (CDialog ) в том числе и со стандартными окнами для выбора цвета (CColorDialog ), для выбора имени файла (CFileDialog ) и другими.

 |
Каждому элементу управления соответсвует свой класс наследник от CWnd . В таблице приведено соответствие основных элементов управления и классов библиотеки MFC.
Элемент управления |
Класс библиотеки MFC |
Кнопка
(Button) |
CButton
|
Флажок
(Check Box) |
Переключатель
(Radio Button) |
Поле для текстового ввода
(Edit Box) |
CEdit |
Подпись (Static Text) и
рамка (Group Box) |
CStatic |
Список (List Box) |
CListBox |
Комбинированный список
(Combo Box) |
CComboBox |
|
Интерфейс программирования приложений предоставляет функции для работы с файловой операционной системой. Библиотека MFC в свою очередь предоставляет классы для работы с файлами различных типов.

Для организации графического вывода используется понятие контекста устройства, которому в библиотеке MFC соответствует класс CDC и наследники от него. Для отображения графических примитивов
используются классы-наследники от СGdiObject .
 
Небольшая часть вспомогательных классов библиотеки MFC не наследует свойства OObject . Среди них следует выделить наиболее часто используемые. Класс CArchive используется
для реализации механизма сериализации, то есть сохранения состояния об объекте в архиве (обычно в файле) с возможностью его последующего восстановления. Класс CWaitCursor предназначен
для временной смены образа курсора на курсор ожидания (обычно это курсор в виде песочных часов).

При организации графического вывода используются дополнительные типы данных такие, как точка (CPoint ), прямоугольник (CRect ), размеры (CSize ). Для хранения
и работы со строками библиотека MFC использует класс CString .
|