Вернуться наверх
aco.ifmo.ru photonic
вернуться в оглавление предыдущая глава предыдущий параграф следующий параграф следующая глава


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.