MFC Concepts


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at MFC Concepts.

This section provides conceptual and task-based topics to help you program using the Microsoft Foundation Class (MFC) Library.

General MFC Topics
Discusses the technical details of the MFC Library.

Using CObject
Provides links to using CObject, the base class for most classes in MFC.

Discusses collection classes created from and not created from C++ templates.

Date and Time
Provides links to topics discussing using date and time with MFC.

Discusses CFile and how to handle files in MFC.

Memory Management (MFC)
Describes how to take advantage of the general-purpose services related to memory management.

Message Handling and Mapping
Describes how messages and commands are processed by the MFC framework and how to connect them to their handler functions.

Explains the serialization mechanism provided to allow objects to persist between runs of your program.

Describes MFC support for the Unicode standard for encoding wide characters on Windows NT, Windows 2000, and Windows XP platforms.

Exception Handling (MFC)
Explains the exception-handling mechanisms available in MFC.

MFC Internet Programming Basics
Discusses the MFC classes that support Internet programming.

MFC Internet Programming Tasks
Discusses how to add Internet support to your applications.

Discusses a subset of MFC, which is designed to support COM, while most of the Active Template Library (ATL) is designed for COM programming.

Multithreading with C++ and MFC
Describes what processes and threads are and discusses the MFC approach to multithreading.

Windows Sockets in MFC
Covers the MFC implementation of Windows Sockets.

MFC Reference
Provides reference material for the MFC Library, a set of classes that constitute an application framework, which is the framework of an application written for the Windows API.

MFC Samples
Provides links to samples that show how to use MFC in desktop applications, DLLs, database applications, controls, Web applications, and more.