Share via

MFC Desktop Applications

The Microsoft Foundation Class (MFC) Library provides an object-oriented wrapper over much of the Win32 and COM APIs. Although it can be used to create very simple desktop applications, it is most useful when you need to develop more complex user interfaces with multiple controls. You can use MFC to create applications with Office-style user interfaces. For documentation on the Windows platform itself, see Windows documentation. For information on building Windows applications in C++ without MFC, see Build desktop Windows apps using the Win32 API.

The MFC Reference covers the classes, global functions, global variables, and macros that make up the Microsoft Foundation Class Library.

The individual hierarchy charts included with each class are useful for locating base classes. The MFC Reference usually does not describe inherited member functions or inherited operators. For information on these functions, refer to the base classes depicted in the hierarchy diagrams.

The documentation for each class includes a class overview, a member summary by category, and topics for the member functions, overloaded operators, and data members.

Public and protected class members are documented only when they are normally used in application programs or derived classes. See the class header files for a complete listing of class members.


The MFC classes and their members cannot be used in applications that execute in the Windows Runtime environment.

MFC libraries (DLLs) for multibyte character encoding (MBCS) are no longer included in Visual Studio, but are available as a Visual Studio add-on. For more information, see MFC MBCS DLL Add-on.

In This Section

Conceptual articles on MFC topics.

Hierarchy Chart
Visually details the class relationships in the class library.

Class Overview
Lists the classes in the MFC Library according to category.

Contains articles that walk you through various tasks associated with MFC library features.

Technical Notes
Provides links to specialized topics, written by the MFC development team, on the class library.

Customization for MFC
Provides some tips for customizing your MFC application.

Provides links to and header file information for the MFC classes.

Internal Classes
Used internally in MFC. For completeness, this section describes these internal classes, but they are not intended to be used directly in your code.

Macros and Globals
Provides links to the macros and global functions in the MFC Library.

Structures, Styles, Callbacks, and Message Maps
Provides links to the structures, styles, callbacks, and message maps used by the MFC Library.

MFC Wizards and Dialog Boxes
A guide to the features in Visual Studio for creating MFC applications.

Working with Resource Files
How to use resource files to manage static user interface data such as UI strings and dialog box layout.

Hierarchy Chart Categories
Describes the MFC hierarchy chart by category.

ATL/MFC Shared Classes
Provides links to classes that are shared between MFC and ATL.

MFC Samples
Provides links to samples that demonstrate how to use MFC.

Visual C++ Libraries Reference
Provides links to the various libraries provided with Visual C++, including ATL, MFC, OLE DB Templates, the C run-time library, and the C++ Standard Library.

Debugging in Visual Studio
Provides links to using the Visual Studio debugger to correct logic errors in your application or stored procedures.

See also