Классы библиотеки MFC версии 1.0, поставлявшиеся с Microsoft C/C++ версии 6.0, поддерживали следующие возможности:
· интерфейс C++ к Windows API;
· классы общего назначения (неспецифичные для Windows);
· удобный и эффективный строковый класс;
· классы для работы со временем, временными интервалами и датами;
· классы для независимого от операционной системы доступа к файлам;
· поддержку систематизации сохранения объектов на диске и их считывания с диска;
· иерархию классов от общего корневого объекта;
· поддержку приложений с многодокументным интерфейсом (Multiple Document Interface, MDI);
· поддержку для OLE версии 1.0.
Вот какие новые возможности появились в MFC 2.0:
· полная поддержка команд Open, Save, Save As в меню File и списка последних открывавшихся файлов;
· предварительный просмотр перед печатью и поддержка принтера;
· поддержка окон с прокруткой и разбиением;
· поддержка панелей инструментов и строк состояния;
· доступ к элементам управления Visual Basic;
· поддержка контекстно-зависимой справки;
· поддержка автоматической обработки данных, вводимых в диалоговом окне;
· улучшенный интерфейс с OLE 1.0;
· поддержка DLL.
Классы версии 2.5 (в Visual C++ версии 1.5) ввели в библиотеку MFC:
· поддержку механизма ODBC, что позволило приложениям оперировать информацией, хранящейся в таких базах данных, как Microsoft Access, FoxPro и Microsoft SQL Server;
· интерфейс с OLE 2.01, включая поддержку редактирования «по месту», связывания, OLE-автоматизации, а также перемещения объектов мышью (drag and drop).
Visual C++ 2.0 был первой 32-разрядной версией продукта и включал поддержку Windows NT версии 3.5. В него входила MFC версии 3.0, которая предоставила следующие новые возможности:
· поддержку диалоговых окон с вкладками (входила и в версию 1.51 Visual C++, поставляемую на том же компакт-диске);
· стыкуемые панели элементов управления, реализованные в MFC;
· поддержку окон с тонкими рамками (thin-frame windows);
· отдельный CDK (Control Development Kit) для построения 16и 32-разрядных элементов управления на базе OLE, хотя поддержка OLE-контейнеров элементов управления еще не предусматривалась.
Последующая версия Visual C++ 2.1 с MFC 3.1 добавила:
· поддержку новых стандартных элементов управления из бета-версии Windows 95;
· драйвер ODBC Level 2, совместимый с управляющим ядром баз данных Access Jet;
· классы Winsock для передачи данных по TCP/IP.
Далее Microsoft решила пропустить третью версию Visual C++ и приступила прямо к четвертой – чтобы синхронизировать номера версий Visual C++ и MFC. В библиотеке MFC 4.0 появились следующие дополнительные возможности:
· новые классы объектов доступа к данным на базе OLE (DAO) для работы с Jet;
· стыкуемые панели элементов управления Microsoft Windows 95 вместо панелей элементов управления MFC;
· полная поддержка стандартных элементов управления из финальной версии Windows 95 с новыми классами;
· новые классы для синхронизации потоков;
· поддержка OLE-контейнеров элементов управления.
· каркас приложений Microsoft Foundation Class Library 15.
Следующим важным этапом стала версия Visual C++ 4.2 с MFC 4.2, в которую были включены следующие возможности:
· классы Winlnet;
· классы серверов ActiveX-документов;
· классы синхронных и асинхронных ActiveX-моникеров;
· усовершенствованные MFC-классы элементов управления ActiveX с такими возможностями, как активизация без образования окна, оптимизированный код отрисовки и т. д.;
· улучшенная поддержка MFC ODBC, включая массированную загрузку наборов данных и передачу данных без привязки.
В Visual C++ 5.0 с MFC 4.21, в которой было исправлено несколько ошибок версии 4.2, было введено еще несколько заслуживающих внимания возможностей:
· обновленная среда разработки, Developer Studio 97. Её особенности – основанная на HTML справочная система и интеграция с другими языками, включая Java;
· Active Template Library (ATL) для эффективной разработки элементов управления ActiveX для Интернета;
· поддержка в языке C++ при помощи директивы #import программирования СОМ-клиентов на основе библиотек типов.
Последняя версия Visual C++ 6.0 содержит MFC 6.0 (обратите внимание, что номера версий вновь синхронизированы). Многие из возможностей MFC 6.0 позволяют разработчику поддерживать концепцию Microsoft Active Platform:
· классы MFC, инкапсулирующие новые стандартные элементы управления Windows, которые являются составной частью в Internet Explorer 4-0;
· поддержка Dynamic HTML, позволяющая MFC-программисту разрабатывать приложения, способные динамически изменять и создавать HTML-страницы;
· технология Active Document Containment, позволяющая приложениям, основанным на MFC, включать активные документы (Active Documents);
· поддержка шаблонов поставщиков и потребителей OLE DB и привязки данных ADO, что очень удобно для разработчика программ доступа к БД, использующего MFC или ATL.
Широкий спектр возможностей MFC вместе с мощью каркаса приложений служат гарантией сохранения высокого спроса на программистов, умеющих работать с MFC.