3. A Brief History of MFC

Microsoft Visual C++/Microsoft Foundation Classes


3.  A BRIEF HISTORY OF MFC

I constantly see postings from folks confused about what version to use where, etc.. So this history kind of explains where MFC has been and where it's going. [This is the history as I remember it. If you have any details that you can fill in, release dates, inside info, etc.. Let me know!]

To understand the MFC releases, you need to realize that there are 16 and 32-bit releases of MFC. 16-bit releases call Win16 and run on Windows 3.1 and 3.11 (Windows for Workgroups)

The 32-bit releases call Win32 and run on Windows NT and Windows 95 (and can run on Windows 3.1 with Win32s, but it still calls Win32)

Skip to section 3.13 for a quick table of releases if you want to skip the long descriptions of each release.

In each section, the new classes added to MFC are highlighted. It's nearly impossible to do cool class diagrams in ASCII, so their hierarchy is just shown by indentation. I've also left CObject out of most of the hierarchies for brevity. You can pretty much assume that CObject is a parent of most of the classes except things like CString, etc.

3.1.  How do I know what version of MFC I'm using?

3.2.  Pre-MFC 1.0

3.3.  MFC 1.0

3.4.  MFC 2.0

3.5.  MFC 2.1
3.6.  MFC 2.5
3.6.1.  MFC 2.51
3.6.2.  MFC 2.52
3.6.3.  MFC 2.52b       
3.6.4.  MFC 2.52c

3.7.  MFC 3.0

3.8.  MFC 3.1

3.9.  MFC 3.2

3.10.  MFC 4.0

3.11.  MFC 4.1

3.12.  MFC 4.2
3.12.1.  MFC 4.2b
3.12.2.  MFC 4.21

3.13.  Table of MFC Releases