General MFC Topics

This family of articles includes technical details about the Microsoft Foundation Class (MFC) Library and provides an overview of the MFC framework and its key components and subsystems.

The Microsoft Foundation Class Library is an application framework for programming in Microsoft Windows. Written in C++, MFC provides much of the code necessary for managing windows, menus, and dialog boxes; performing basic input/output; storing collections of data objects; and so on. All you need to do is add your application-specific code into this framework. Given the nature of C++ class programming, it is easy to extend or override the basic functionality that the MFC framework supplies.

The MFC framework is a powerful approach that lets you build upon the work of expert programmers for Windows. MFC shortens development time; makes code more portable; provides tremendous support without reducing programming freedom and flexibility; and gives easy access to "hard to program" user-interface elements and technologies, like Active technology, OLE, and Internet programming. Furthermore, MFC simplifies database programming through Data Access Objects (DAO) (now obsolete) and Open Database Connectivity (ODBC), and network programming through Windows Sockets. MFC makes it easy to program features like property sheets ("tab dialogs"), print preview, and floating, customizable toolbars.

In This Section

MFC Samples

Using the MFC Source Files

MFC Library Versions

Using the Classes to Write Applications for Windows

Building on the Framework

CWinApp: The Application Class

Document Templates and the Document/View Creation Process

Managing the State Data of MFC Modules

Idle Loop Processing

Support for Activation Contexts in the MFC Module State

Isolation of the MFC Common Controls Library

Build Requirements for Windows Vista Common Controls

How to: Add Restart Manager Support

Dynamic Layout

For an overview of the MFC reference documentation, see Microsoft Foundation Class Library.

For information about ATL, see Active Template Library Reference.

See also

Working with Window Objects