What’s up with MFC in Visual Studio 2011 Beta

Pat Brenner

Hello, I’m Pat Brenner, a developer on the Visual C++ Libraries team. Through this blog post I wanted to share some information about the Microsoft Foundation Class (MFC) Library, since I am the primary developer working on MFC.

As you know, MFC is an important technology component which has been extensively used over the years by C++ developers to build desktop applications for Windows. In every product release, we make enhancements to the library, whether it is taking advantage of features in newer versions of the Windows operating system or adding fixes for common developer issues. With the recent release of Visual Studio 11 Beta, there have been some concerns among the MFC developers about the apparent lack of focus on MFC.

In every release we need to balance our investment across the various areas of the product. However, we still believe that MFC is the most fully-featured library for building native desktop applications. We are fully committed to supporting and maintaining MFC at a high level of quality. Here’s a short list of some of the issues that we fixed in MFC for Visual Studio 11:

  • Addressed executable size of applications linked statically to MFC
  • Fixed DLLMain best practices violations by deferring initialization of the afxGlobalData structure
  • Fixed over 220 bugs, nearly 100 of which were reported by customers via the Connect web site
  • Fixed a large number of paint/draw issues (in toolbars, splitters, theme switches, etc.)
  • Fixed several memory leaks (in CMFCVisualManager and CMFCButton classes)
  • Added a number of missing exports (methods and data) to the MFC import libraries

In addition to this, the Visual C++ teams have invested significantly in enabling C++ developers to natively build Metro style applications for Windows 8 (through compiler, libraries and productivity features). This is the primary reason that in this release MFC didn’t receive as much attention as in previous Visual Studio releases.

We don’t know yet what the future investments for feature additions in MFC would be. However, we’re committed to supporting MFC and making sure that applications built on it will run on future Windows platforms. I hope you find this information useful and reassuring.


Pat Brenner
Visual C++ Libraries Development Team