Microsoft Foundation Classes

Microsoft Foundation Classes

Пакет Microsoft Foundation Classes (MFC) — библиотека на языке C++, разработанная Microsoft и призванная облегчить разработку GUI-приложений для Microsoft Windows путем использования богатого набора библиотечных классов.

Содержание

Принцип действия

Библиотека MFC, как и её основной конкурент, Borland VCL, облегчает работу с GUI путем создания каркаса приложения — «скелетной» программы, автоматически создаваемой по заданному макету интерфейса и полностью берущей на себя рутинные действия по его обслуживанию (отработка оконных событий, пересылка данных между внутренними буферами элементов и переменными программы и т. п.). Программисту после генерации каркаса приложения необходимо только вписать код в места, где требуются специальные действия. Каркас должен иметь вполне определенную структуру, поэтому для его генерации и изменения в Visual C++ предусмотрены мастера.

Кроме того, MFC предоставляет объектно-ориентированный слой оберток (англ. wrappers) над множеством функций Windows API, делающий несколько более удобной работу с ними. Этот слой представляет множество встроенных в систему объектов (окна, виджеты, файлы и т. п.) в виде классов и опять же берет на себя рутинные действия вроде закрытия дескрипторов и выделения/освобождения памяти.

Добавление кода в каркас приложения

Добавление кода приложения к каркасу реализовано двумя способами. Первый использует механизм наследования: основные программные структуры каркаса представлены в виде классов, наследуемых от библиотечных. В этих классах предусмотрено множество виртуальных функций, вызываемых в определенные моменты работы программы. Путем доопределения (в большинстве случаев необходимо вызвать функцию базового класса) этих функций программист может добавлять выполнение в эти моменты своего кода.

Второй способ используется для добавления обработчиков оконных событий. Мастер создает внутри каркасов классов, связанных с окнами, специальные массивы — карты (оконных) сообщений (англ. message map), содержащие пары «ИД сообщения — указатель на обработчик». При добавлении/удалении обработчика мастер вносит изменения в соответствующую карту сообщений.

История

Первая версия MFC была выпущена вместе с седьмой версией 16-разрядного компилятора языка C/C++ компании Microsoft в 1992 году. Для тех, кто занимался разработкой приложений с использованием API-функций, пакет MFC обещал весьма значительное повышение производительности процесса программирования.

Одной из примечательных особенностей MFC является префикс «Afx», используемый в именах многих функций, макросов и названии стандартного заголовочного файла «stdafx.h». На ранней стадии разработки, то, что впоследствии стало называться MFC, имело название «Application Framework Extensions» и аббревиатуру «Afx». Решение изменить название на Microsoft Foundation Classes (MFC) было принято слишком поздно, чтобы менять упоминания Afx в коде.

Object Windows Library (OWL), разработанная компанией Borland для работы с собственным компилятором C++, была конкурирующим продуктом, представленным в тот же период. В конце концов Borland прекратила разработку OWL и приобрела краткосрочную лицензию на использование библиотек для работы с MFC, но так и не предложила полной поддержки MFC в своих продуктах. Позднее Borland выпустила VCL в качестве замены OWL.

Упор компании Microsoft на MFC был ослаблен в пользу Microsoft .NET Framework. Однако, несмотря на это, MFC по-прежнему остается популярной среди разработчиков.

В апреле 2008 года Microsoft выпустила, после многолетнего бездействия, значительное обновление к MFC под названием MFC Feature Pack. Это обновление предлагалось к установке как дополнение к Visual Studio 2008. В основе своей это были добавочные классы MFC, права на которые были приобретены у российской фирмы BCGSoft[1]. В MFC включалась поддержка нового интерфейса Ribbon и несколько других усовершенствований, связанных с улучшенными интерфейсными элементами управления. После выпущенного пакета обновления для Visual Studio 2008 данные классы стали неотъемлемой частью MFC.

Версии

Версия продукта Версия MFC Год выхода
Microsoft C/C++ 7.0 MFC 1.0 1992
Visual C++ 1.0 MFC 2.0 (введена архитектура документ-представление)
Visual C++ 1.5 MFC 2.5 (реализована поддержка технологий ODBC и drag-and-drop)
Visual C++ 1.52c MFC 2.5 (последняя платформа разработки для MS Windows 3.x)
Visual C++ 2.0 MFC 3.0 (появилась возможность реализации многозадачности и поддержка Unicode)
Visual C++ 2.1 MFC 3.1
Visual C++ 2.2 MFC 3.2
Visual C++ 4.0 MFC 4.0 (mfc40.dll включена в состав Windows 95) август 1995
Visual C++ 4.1 MFC 4.1
Visual C++ 4.2 MFC 4.2 (mfc42.dll включена в первоначальный выпуск Windows 98) март 1998
eMbedded Visual C++ 3.0 MFC 4.2 (mfc42.dll)
Visual C++ 5.0 MFC 4.21 (mfc42.dll), значительное обновление MFC 4.2.
Visual C++ 6.0 MFC 6.0 (mfc42.dll) 1998
eMbedded Visual C++ 4.0 MFC 6.0 (mfcce400.dll)
Visual C++ .NET 2002 (Visual C++ 7.0) MFC 7.0 (mfc70.dll), .NET 1.0 февраль 2002
Visual C++ .NET 2003 (Visual C++ 7.1) MFC 7.1 (mfc71.dll), .NET 1.1 апрель 2003
Visual C++ 20051 (Visual C++ 8.0) MFC 8.0 (mfc80.dll), .NET 2.0 октябрь 2005
Visual C++ 20081 (Visual C++ 9.0) MFC 9.0.21022 (mfc90.dll), .NET 3.5 ноябрь 2007
Visual C++ 20081 with Feature Pack MFC 9.0.30411 (mfc90.dll) апрель 2008
Visual C++ 20081 SP1 MFC 9.0.30729 (mfc90.dll) август 2008
Visual C++ 20081 Security Update (KB971092) MFC 9.0.30729.4148 (mfc90.dll) июль 2009
Visual C++ 2010 MFC 10.0.30319.1 (mfc100.dll), .NET 4.0 апрель 2010
  • 1 Библиотека MFC не входит в Visual Studio редакции Express.

Примечания

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Microsoft Foundation Classes" в других словарях:

  • Microsoft Foundation Classes — o MFC es un conjunto de clases interconectadas por múltiples relaciones de herencia, que proveen un acceso más sencillo a las API de Windows. Fueron introducidas por Microsoft en 1992 y desde entonces fueron apareciendo nuevas versiones con las… …   Wikipedia Español

  • Microsoft Foundation Classes —   [dt. »Basisklassen von Microsoft«] (MFC), eine von der Firma Microsoft entwickelte C++ Klassenbibliothek (C++), mit deren Klassen sich die Entwicklung von Windows Anwendungen vereinfachen und beschleunigen lässt. MFC unterstützt ActiveX und… …   Universal-Lexikon

  • Microsoft Foundation Classes — Die Microsoft Foundation Classes (MFC) sind eine Sammlung objektorientierter Klassenbibliotheken, die von Microsoft für die Programmierung von Anwendungen mit grafischen Benutzeroberflächen für Windows mit C++ entwickelt wurden. Sie bieten eine… …   Deutsch Wikipedia

  • Microsoft Foundation Classes — Microsoft Foundation Class Library Les Microsoft Foundation Class (MFC) sont une bibliothèque de classes en C++ encapsulant l API Win32 (écrite en C) de Windows. Leur première apparition date de 1992. Elle offre également un framework de… …   Wikipédia en Français

  • Microsoft foundation classes — Microsoft Foundation Class Library Les Microsoft Foundation Class (MFC) sont une bibliothèque de classes en C++ encapsulant l API Win32 (écrite en C) de Windows. Leur première apparition date de 1992. Elle offre également un framework de… …   Wikipédia en Français

  • Microsoft Foundation Class Library — Developer(s) Microsoft Initial release 1992 Stable release 10.0.40219.1 [1] …   Wikipedia

  • Microsoft Foundation Class — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Die Microsoft Foundation Classes (MFC) sind eine Sammlung… …   Deutsch Wikipedia

  • Microsoft Foundation Class — Library Les Microsoft Foundation Class (MFC) sont une bibliothèque de classes en C++ encapsulant l API Win32 (écrite en C) de Windows. Leur première apparition date de 1992. Elle offre également un framework de développement de type Document/Vue… …   Wikipédia en Français

  • Microsoft Foundation Classs — Microsoft Foundation Class Library Les Microsoft Foundation Class (MFC) sont une bibliothèque de classes en C++ encapsulant l API Win32 (écrite en C) de Windows. Leur première apparition date de 1992. Elle offre également un framework de… …   Wikipédia en Français

  • Microsoft foundation class — Library Les Microsoft Foundation Class (MFC) sont une bibliothèque de classes en C++ encapsulant l API Win32 (écrite en C) de Windows. Leur première apparition date de 1992. Elle offre également un framework de développement de type Document/Vue… …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»