15.10  Возможности библиотеки MFC

Классы библиотеки 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.