Sunteți pe pagina 1din 7

MICROSOFT FOUNDATION CLASS LIBRARY AND WINDOWS

INTRODUCTION:

The Microsoft Foundation Class Library (MFC) is a library that wraps portions of the
Windows API in C++ classes, including functionality that enables them to use a default
application framework. Classes are defined for many of the handle-managed Windows objects
and also for predefined windows and common controls. MFC was introduced in 1992 with
Microsoft's C/C++ 7.0 compiler for use with 16-bit versions of Windows as an extremely thin
object-oriented C++ wrapper for the Windows API. C++ was just beginning to replace C for
development of commercial application software at the time. In an MFC program, direct
Windows API calls are rarely needed. Instead, programs create objects from Microsoft
Foundation Class classes and call member functions belonging to those objects. Many of those
functions share their names with corresponding API functions. One interesting quirk of MFC is
the use of "Afx" as the prefix for many functions, macros and the standard precompiled header
name "stdafx.h".

FRAME WORK:

During early development what became MFC was called "Application Framework
Extensions" and abbreviated "Afx". The name Microsoft Foundation Classes (MFC) was adopted
too late in the release cycle to change these references. MFC 8.0 was released with Visual
Studio 2005. MFC 9.0 was released with Visual Studio 2008. MFC is not included in the free
edition of Visual C++ Express but is included in the commercial versions of Visual C++ 2010
and later. The Object Windows Library (OWL), designed for use with Borland's Turbo C++
compiler, was a competing product introduced by Borland around the same time. Eventually,
Borland discontinued OWL development and licensed the distribution of the MFC headers,
libraries and DLLs from Microsoft for a short time, though it never offered fully integrated
support for MFC. Borland later released VCL (Visual Component Library) to replace the OWL
framework.
FEATURES:

Message Maps, exceptions, run-time type identification (RTTI), serialization and


dynamic class instantiation. The macros for message-handling aimed to reduce memory
consumption by avoiding gratuitous virtual table use and also to provide a more concrete
structure for various Visual C++-supplied tools to edit and manipulate code without parsing the
full language. The message-handling macros replaced the virtual function mechanism provided
by C++. The macros for serialization, exceptions, and RTTI predated availability of these
features in Microsoft C++ by a number of years. 32-bit versions of MFC, for Windows NT 3.1
and later Windows operating systems, used compilers that implemented the language features
and updated the macros to simply wrap the language features instead of providing customized
implementations, realizing upward compatibility.

VERSIONS:

Product version .Net Library MFC version Year


Version introduced
Microsoft C/C++ MFC 1.0 1992
7.0
Visual C++ 1.0 MFC 2.0
Visual C++ 1.5 MFC 2.5
Visual C++ 1.51 MFC 2.51
Visual C++ 1.52c MFC 2.5 (Last development
platform for Windows 3.x)
Visual C++ 2.0 MFC 3.0
Visual C++ 2.1 MFC 3.1
Visual C++ 2.2 MFC 3.2
Visual C++ 4.0 MFC 4.0 (mfc40.dll included August 1995
with Windows 95)
Visual C++ 4.1 MFC 4.1
Visual C++ 4.2 MFC 4.2 (mfc42.dll included March 1998
with the Windows 98 original
release)
eMbedded Visual mfc42.dll MFC 4.2
C++ 3.0
Visual C++ 5.0 mfc42.dll MFC 4.21, a major upgrade
from MFC 4.2.
Visual C++ 6.0 mfc42.dll MFC 6.0 1998
eMbedded Visual mfcce400.dl MFC 6.0
C++ 4.0 l
Visual C++ .NET 1.0 mfc70.dll MFC 7.0 February
2002 (Visual C++ 2002
7.0)
Visual C++ .NET 1.1 mfc71.dll MFC 7.1 April 2003
2003 (Visual C++ MFC 7.10.6119.0 April 2011
7.1)
Visual C++ .NET
2003 + MS11-025
Visual C++ 2005 2.0 mfc80.dll MFC 8.0.50727.42 October
(Visual C++ 8.0) MFC 8.0.50727.762 2005
Visual C++ 2005 MFC 8.0.50727.4053 June 2007
SP1 MFC 8.0.50727.5592 July 2009
Visual C++ 2005 MFC 8.0.50727.6195 April 2011
SP1 + MS09-035 June 2011
Visual C++ 2005
SP1 + MS11-025
Visual C++ 2005
SP1 + MS11-025
Visual C++ 2008 3.5 mfc90.dll MFC 9.0.21022.8 November
(Visual C++ 9.0) MFC 9.0.30411 2007
Visual C++ 2008 MFC 9.0.30729.1 April 2008
with Feature Pack MFC 9.0.30729.4148 August 2008
Visual C++ 2008 MFC 9.0.30729.5570 July 2009
SP1 April 2011
Visual C++ 2008
SP1 + MS09-035
Visual C++ 2008
SP1 + MS11-025
Visual C++ 2010 4.0 mfc100.dll MFC 10.0.30319.1 April 2010
(Visual C++ 10.0) MFC 10.0.30319.415 April 2011
Visual C++ 2010 + MFC 10.0.40219.1 March 2011
MS11-025 MFC 10.0.40219.325 August 2011
Visual C++ 2010
SP1
Visual C++ 2010
SP1 + MS11-025
Visual C++ 2012 4.5 mfc110.dll MFC 11.0.50727.1 26 July 2012
(Visual C++ 11.0) MFC 11.0.51106.1 5 November
Visual C++ 2012 MFC 11.0.60610.1 2012
Update 1 MFC 11.0.61030 26 June
Visual C++ 2012 2013
Update 3 20
Visual C++ 2012 November
Update 4 2013
Visual C++ 2013 4.5.1 mfc120.dll MFC 12.0.21005.1 5 October
(Visual C++ 12.0) MFC 12.0.30501.0 2013
Visual C++ 2013 30
Update 2 December
2014

ARCHITECHTURE:

Visual Studio does not support any programming language, solution or tool intrinsically;
instead, it allows the plugging of functionality coded as a VSPackage. When installed, the
functionality is available as a Service. The IDE provides three services: SVsSolution, which
provides the ability to enumerate projects and solutions; SVsUIShell, which provides windowing
and UI functionality (including tabs, toolbars and tool windows); and SVsShell, which deals with
registration of VSPackages. In addition, the IDE is also responsible for coordinating and
enabling communication between services. All editors, designers, project types and other tools
are implemented as VSPackages. Visual Studio uses COM to access the VSPackages. The Visual
Studio SDK also includes the Managed Package Framework (MPF), which is a set of managed
wrappers around the COM-interfaces that allow the Packages to be written in any CLI compliant
language. However, MPF does not provide all the functionality exposed by the Visual Studio
COM interfaces. The services can then be consumed for creation of other packages, which add
functionality to the Visual Studio IDE.

Solution Explorer:

In Visual Studio parlance, a solution is a set of code files and other resources that are
used to build an application. The files in a solution are arranged hierarchically, which might or
might not reflect the organization in the file system. The Solution Explorer is used to manage and
browse the files in a solution.

Team Explorer:

Team Explorer is used to integrate the capabilities of Team Foundation Server, the
Revision Control System into the IDE (and the basis for Microsoft's CodePlex hosting
environment for open source projects). In addition to source control it provides the ability to
view and manage individual work items (including bugs, tasks and other documents) and to
browse TFS statistics. It is included as part of a TFS install and is also available as a download
for Visual Studio separately. Team Explorer is also available as a stand-alone environment solely
to access TFS services.

Data Explorer:

Data Explorer is used to manage databases on Microsoft SQL Server instances. It allows
creation and alteration of database tables (either by issuing T-SQL commands or by using the
Data designer). It can also be used to create queries and stored procedures, with the latter in
either T-SQL or in managed code via SQL CLR. Debugging and IntelliSense support is available
as well.

MICROSOFT VISUAL BASIC:


Microsoft Visual Basic is Microsoft's implementation of the VB.NET language and
associated tools and language services. It was introduced with Visual Studio .NET (2002).
Microsoft has positioned Visual Basic for Rapid Application Development. Visual Basic can be
used to author both console applications as well as GUI applications. Like Visual C#, Visual
Basic also supports the Visual Studio Class designer, Forms designer, and Data designer among
others. Like C#, the VB.NET compiler is also available as a part of .NET Framework, but the
language services that let VB.NET projects be developed with Visual Studio, are available as a
part of the latter.

MICROSOFT VISUAL WEB DEVELOPER:

Microsoft Visual Web Developer is used to create web sites, web applications and web
services using ASP.NET. Either C# or VB.NET languages can be used. Visual Web Developer
can use the Visual Studio Web Designer to graphically design web page layouts.

CONCLUSION:

Support for programming languages is added by using a specific VSPackage called a


Language Service. A language service defines various interfaces which the VSPackage
implementation can implement to add support for various functionalities. Functionalities that can
be added this way include syntax coloring, statement completion, brace matching, parameter
information tooltips, member lists and error markers for background compilation. If the interface
is implemented, the functionality will be available for the language. Language services are to be
implemented on a per-language basis. The implementations can reuse code from the parser or the
compiler for the language. Language services can be implemented either in native code or
managed code. For native code, either the native COM interfaces or the Babel Framework (part
of Visual Studio SDK) can be used. For managed code, the MPF includes wrappers for writing
managed language services.

REFERENCE:

https://msdn.microsoft.com/en-us/library/d06h2x6e.aspx

https://msdn.microsoft.com/en-us/library/fe1cf721.aspx
https://msdn.microsoft.com/en-us/library/kkcb3t0w.aspx
stackoverflow.com/.../is-it-worth-to-learn-microsoft-foundation-classesm.

www.techopedia.com/.../microsoft-foundation-class-library-mfc%20libra.

S-ar putea să vă placă și