Biblioteca de clases de Microsoft Foundation

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Biblioteca orientada al objeto de Windows OS

Microsoft Foundation Class Library (MFC) es una biblioteca orientada a objetos de C++ para desarrollar aplicaciones de escritorio para Windows.

Microsoft presentó MFC en 1992 y su uso se generalizó rápidamente. Si bien Microsoft ha introducido marcos de aplicación alternativos desde entonces, MFC sigue siendo ampliamente utilizado.

Historia

MFC se introdujo en 1992 con el compilador C/C++ 7.0 de Microsoft para su uso con versiones de Windows de 16 bits como un contenedor de C++ orientado a objetos extremadamente delgado para la API de Windows. C ++ estaba comenzando a reemplazar a C para el desarrollo de software de aplicaciones comerciales en ese momento. En un programa MFC, rara vez se necesitan llamadas directas a la API de Windows. En su lugar, los programas crean objetos a partir de clases de Microsoft Foundation Class y llaman a funciones miembro que pertenecen a esos objetos. Muchas de esas funciones comparten sus nombres con las funciones API correspondientes.

Una peculiaridad de MFC es el uso de "Afx" como prefijo para muchas funciones, macros y el nombre de encabezado estándar precompilado "stdafx.h". Durante el desarrollo inicial, lo que se convirtió en MFC se denominó "Extensiones del marco de la aplicación" y abreviado "Afx". El nombre Microsoft Foundation Classes (MFC) se adoptó demasiado tarde en el ciclo de lanzamiento para cambiar estas referencias.

MFC 8.0 se lanzó con Visual Studio 2005. MFC 9.0 se lanzó con Visual Studio 2008. El 7 de abril de 2008, Microsoft lanzó una actualización de las clases MFC como una actualización fuera de banda para Visual Studio 2008 y MFC 9 La actualización presenta nuevas construcciones de interfaz de usuario, incluidas las cintas y los widgets de interfaz de usuario asociados, barras de herramientas totalmente personalizables, paneles de acoplamiento que pueden flotar libremente o acoplarse a cualquier lado y pestañas de documentos.

MFC fue inicialmente una característica de las versiones comerciales de Visual Studio. Como tal, no está incluido en el software gratuito Visual C++ Express. Sin embargo, la edición Community de Visual Studio, presentada en 2014, incluye MFC.

Object Windows Library (OWL), diseñado para usarse con el compilador Turbo C++ de Borland, fue un producto de la competencia presentado por Borland casi al mismo tiempo. Eventualmente, Borland interrumpió el desarrollo de OWL y obtuvo la licencia de Microsoft para la distribución de encabezados, bibliotecas y DLL de MFC por un corto tiempo, aunque nunca ofreció soporte completamente integrado para MFC. Borland lanzó más tarde Visual Component Library para reemplazar el marco OWL.

Características

MFC es una biblioteca que envuelve partes de la API de Windows en clases de C++, incluida la funcionalidad que les permite usar un marco de aplicación predeterminado. Las clases se definen para muchos de los objetos de Windows administrados por identificadores y también para ventanas predefinidas y controles comunes.

En el momento de su presentación, MFC proporcionó macros de C++ para el manejo de mensajes de Windows (a través de mapas de mensajes), excepciones, identificación de tipos en tiempo de ejecución (RTTI), serialización e instanciación de clases dinámicas. Las macros para el manejo de mensajes tenían como objetivo reducir el consumo de memoria al evitar el uso gratuito de tablas virtuales y también proporcionar una estructura más concreta para varias herramientas proporcionadas por Visual C ++ para editar y manipular código sin analizar el lenguaje completo. Las macros de manejo de mensajes reemplazaron el mecanismo de función virtual provisto por C++.

Las macros para serialización, excepciones y RTTI precedieron a la disponibilidad de estas funciones en Microsoft C++ por varios años. Las versiones de 32 bits de MFC, para Windows NT 3.1 y sistemas operativos posteriores de Windows, usaban compiladores que implementaban las características del idioma y actualizaban las macros para simplemente envolver las características del idioma en lugar de proporcionar implementaciones personalizadas, logrando compatibilidad ascendente.

El editor de recursos de la cinta de opciones de MFC permite al desarrollador diseñar la cinta de forma gráfica en lugar de tener que usar el marcado declarativo basado en XML como la API de RibbonX. Opcionalmente, los componentes de la cinta se pueden programar directamente llamando a un nuevo conjunto de métodos de clase de cinta. El desarrollador puede combinar el desarrollo de cintas de opciones gráficas y programáticas según convenga. El asistente de la aplicación MFC también se actualizó para admitir las nuevas funciones, incluida una casilla de verificación para seleccionar si la aplicación utilizará la cinta o los paneles de acoplamiento. La nueva funcionalidad se proporciona en clases nuevas para que las aplicaciones antiguas sigan ejecutándose. Esta actualización se basa en BCGControlBar Library Professional Edition de BCGSoft. Microsoft ha impuesto requisitos de licencia adicionales a los usuarios de las cintas. Estos incluyen un requisito para cumplir con las pautas de diseño de la interfaz de usuario de Microsoft y una cláusula contra la competencia que prohíbe el uso de la interfaz de usuario en aplicaciones que compiten con Microsoft Office.

Se puede usar MFC vinculando una biblioteca estática o agregando la DLL de MFC.

Versiones

Producto Biblioteca Versión Fecha de lanzamiento
Nombre Versión
Microsoft C/C++ 7.0 mafxcw.lib MFC 1.0 1992
Microsoft Visual C++ 1.0 Visual C++ 1.0 mfc200.dll MFC 2.0
Visual C++ 1.5 mfc250.dll MFC 2.5
Visual C++ 1.51 mfc250.dll MFC 2.51
Visual C++ 1,52c mfc250.dll MFC 2.5 (Última plataforma de desarrollo para Windows 3.x)
Microsoft Visual C++ 2.0 Visual C++ 2.0 mfc30.dll MFC 3.0
Visual C++ 2.1 mfc30.dll MFC 3.1
Visual C++ 2.2 mfc30.dll MFC 3.2
Microsoft Visual C++ 4.0 Visual C++ 4.0 mfc40.dll MFC 4.0 (mfc40.dll incluido con Windows 95) Agosto de 1995
Visual C++ 4.1 mfc40.dll MFC 4.1
Visual C++ 4.2 mfc42.dll MFC 4.2 (mfc42.dll incluido con la versión original de Windows 98) Marzo de 1998
eMbedded Visual C+ 3.0 mfc42.dll MFC 4.2
Microsoft Visual C++ 5.0 Visual C++ 5.0 mfc42.dll MFC 4.21, una actualización importante de MFC 4.2.
Microsoft Visual C++ 6.0 Visual C++ 6.0 mfc42.dll MFC 6.0 1998
eMbedded Visual C+ 4.0 mfcce400.dll MFC 6.0
Microsoft Visual C++.NET 2002 Visual C+++.NET 2002 (Visual C++ 7.0) mfc70.dll MFC 7.0 13 de febrero de 2002
Microsoft Visual C++.NET 2003 Visual C+++.NET 2003 (Visual C++ 7.1) mfc71.dll MFC 7.1 24 de abril de 2003
Visual C+++.NET 2003 + MS11-025 (KB2465373) MFC 7.10.6119.0 12 de abril de 2011
Microsoft Visual C++ 2005 Visual C++ 2005 (Visual C++ 8.0) mfc80.dll 8.0.50727.42 10 de abril de 2006
Visual C++ 2005 SP1 8.0.50727.762 27 de agosto de 2007
Visual C++ 2005 SP1 + MS09-035 (KB973544) 8.0.50727.4053 28 de julio de 2009
Visual C++ 2005 SP1 + MS11-025 (KB2467175) 8.0.50727.5592 12 de abril de 2011
Visual C++ 2005 SP1 + MS11-025 (KB2538242) 8.0.50727.6195 (incluido en redist 8.0.61000/8.0.61001) 14 de junio de 2011
Visual C++ 2005 SP1 + MS11-025 (KB2643995) 8.0.50727.6229 2021-01-25?
Microsoft Visual C++ 2008 Visual C++ 2008 (Visual C++ 9.0) mfc90.dll 9.0.21022.8 19 de noviembre de 2007
Visual C++ 2008 + MS09-035 (KB973551) 9.0.21022.218 28 de julio de 2009
Visual C++ 2008 con Feature Pack 9.0.30411 22 de abril de 2008
Visual C++ 2008 SP1 9.0.30729.1 11 de agosto de 2008
Visual C++ 2008 SP1 + MS09-035 (KB973552) 9.0.30729.4148 28 de julio de 2009
Visual C++ 2008 SP1 + MS11-025 (KB2467174) 9.0.30729.5570 12 de abril de 2011
Visual C++ 2008 SP1 + MS11-025 (KB2538243) 9.0.30729.6161 (instalador tiene versión 9.0.30729.5677) 14 de junio de 2011
Microsoft Visual C++ 2010 Visual C++ 2010 (Visual C++ 10.0) mfc100.dll 10.0.30319.1 12 de abril de 2010
Visual C++ 2010 + MS11-025 (KB2467173) 10.0.30319.415 12 de abril de 2011
Visual C++ 2010 SP1 10.0.40219.1 10 de marzo de 2011
Visual C++ 2010 SP1 + MS11-025 (KB2565063) 10.0.40219.325 9 de agosto de 2011
Microsoft Visual C++ 2012 Visual C++ 2012 (Visual C++ 11.0) mfc110.dll 11.0.50727,1 12 de septiembre de 2012
Visual C++ 2012 Update 1 11.0.51106.1 26 de noviembre de 2012
Visual C++ 2012 Update 3 11.0.60610,1 26 de junio de 2013
Visual C++ 2012 Update 4 11.0.61030.0 13 de noviembre de 2013
Microsoft Visual C++ 2013 Visual C++ 2013 (Visual C++ 12.0) mfc120.dll 12.0.21005.1 17 de octubre de 2013
Visual C++ 2013 Update 2 12.0.30501.0 12 de mayo de 2014
Visual C++ 2013 Update 5 + KB3138367 12.0.40649,5 ¿Febrero 2016?
Visual C++ 2013 Update 5 + KB3179560 12.0.40660.0 Julio 8, 2016
Visual C++ 2013 Update 5 + KB4032938 12.0.40664.0 18 de julio de 2017
Microsoft Visual C++ 2015 Visual C++ 2015 (Visual C++ 14.0) mfc140.dll 14.0.23026.0 20 de julio de 2015
Visual C++ 2015 Update 1 14.0.23506.0 30 de noviembre de 2015
Visual C++ 2015 Update 2 14.0.23918.0 Marzo 30, 2016
Visual C++ 2015 Update 3 14.0.24210.0 27 de junio de 2016
Visual C++ 2015 Update 3 14.0.24212,0 Agosto 18, 2016
Visual C++ 2015 Update 3 + KB3165756 14.0.24215.1 Septiembre 15, 2016
Visual C++ 2015 Update 3 14.0.24516.0 23 de octubre, 2021
Microsoft Visual C++ 2017 Visual C++ 15.0 mfc140.dll 14.10.25008.0 7 de marzo de 2017
Visual C++ 15.1? 14.10.25017.0 ¿El 5 de abril de 2017?
Visual C++ 15.2 14.11.25325.0 10 de mayo de 2017
Visual C++ 15.4 14.12.25810.0 Octubre 9, 2017
Visual C++ 15.6 14.13.26020.0 5 de marzo de 2018
Visual C++ 15.7 14.14.26405.0 Mayo 7, 2018
Visual C++ 15.7.3? 14.14.26429,4 31 de mayo de 2018
Visual C++ 15.8 14.15.26706.0 Agosto 14, 2018
Visual C++ 15.9 14.16.27012.6 Noviembre 13, 2018
Visual C++ 15.9.5 14.16.27024.1 8 de enero de 2019
Visual C++ 15.9.6 14.16.27026.1 24 de enero de 2019
Visual C++ 15.9 14.16.27027.1 12 de marzo de 2019
Visual C++ 15.9.15 14.16.27033.0 Agosto 13, 2019
Microsoft Visual C++ 2019 Visual C++ 16.0.0 mfc140.dll 14.20.27508.1 ¿2 de abril de 2019?
Visual C++ 16.1.0 14.21.27702.2 21 de mayo de 2019
Visual C++ 16.2.0 14.22.27821.0 24 de julio de 2019
Visual C++ 16.3.0 14.23.27820.0 23 de septiembre de 2019
Visual C++ 16.4.0 14.24.28127,4 Diciembre 3, 2019
Visual C++ 16.5.0 14.25.2858,3 16 de marzo de 2020
Visual C++ 16.6.0 14.26.28720,3 19 de mayo de 2020
Visual C++ 16.6.3 14.26.28808.1 30 de junio de 2020
Visual C++ 16.7.0 14.27.29016.0 5 de agosto de 2020
Visual C++ 16.7.5 14.27.29112.0 29 de septiembre de 2020
Visual C++ 16.7.8 14.27.29114.0 10 de noviembre de 2020
Visual C++ 16.8.0 14.28.29325.2 10 de noviembre de 2020
Visual C++ 16.8.2 14.28.29334.0 19 de noviembre de 2020
Visual C++ 16.9.0 14.28.29910.0 Marzo 2, 2021
Visual C++ 16.9.2 14.28.29913.0 16 de marzo de 2021
Visual C++ 16.9.4 14.28.29914.0 13 de abril de 2021
Visual C++ 16.10.0 14.29.30037.0 25 de mayo de 2021
Visual C++ 16.10.2 14.29.30038.0 15 de junio de 2021
Visual C++ 16.10.4 14.29.30040.0 20 de julio de 2021
Visual C++ 16.11.0 14.29.30133.0 10 de agosto de 2021
Visual C++ 16.11.4 14.29.30135.0 5 de octubre, 2021
Visual C++ 16.11.9 14.29.30319,0 11 de enero de 2022
Microsoft Visual C++ 2022 Visual C++ 17.0.0RC mfc140.dll 14.30.30704.0 Octubre 13, 2021
Visual C++ 17.0.5 14.31.30708.0 14 de enero de 2022
Visual C++ 17.1.0 14.31.30818.0 27 de octubre de 2021
Visual C++ 17.1.0 14.31.30919,0 23 de diciembre de 2021
Visual C++ 17.1.0 14.31.31005.0 26 de enero de 2022
Visual C++ 17.1.0 14.31.31103.0 26 de enero de 2022
Visual C++ 17.2.0 14.32.31302,0 17 de marzo, 2022
Visual C++ 17.2.0 14.32.31326.0 9 de abril de 2022
Visual C++ 17.2.5 14.32.31332,0 Julio 1, 2022
Visual C++ 17.4.0 14.34.31931.0 9 de noviembre de 2022
Visual C++ 17.4.5 14.34.31938.0 Febrero 14, 2023
Visual C++ 17.6.0 14.36.32532,0 16 de mayo de 2023
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save