The MFC programming Main Page for Microsoft Foundation Class Library Windows GUI Programming Tutorial





  1. MFC Fundamentals: GDI, SDI, MDI, Event handling, Message map, Modeless and modal dialogs, Common controls, Document-view architecture, Printing GUI, Context-sensitive help, DLL, ActiveX controls, Internet explorer, Bitmaps, Memory management and many more.

  2. MFC Advanced: Component Object Model (COM), Automation, Uniform Data Transfer (UDT), Structured storage, Object Linking Embedding (OLE), Active Template Library (ATL), ActiveX controls.

  3. MFC, Winsock & WinInet: Winsock/WinInet, IIS and ISAPI programming, ActiveX document server & Internet, Setting up IIS web server and FTP server.

  4. The latest MFC class library.

  5. The C++/CLI/C++ .NET programming tutorial.

  6. The Windows network programming in .NET with C#, C++/CLI and VB .NET program and project examples.





The completed MFC projects in this tutorial are available at MFC project download page. Have a nice coding day!




Other Windows/non-Windows User Interface (UI) libraries/frameworks:

  1. The Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components. It extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more.

  2. The Win32++ - C++ library used to build windows applications which running on a wide range of free compilers, including Visual Studio Express and Dev-C++. Win32++ has been designed to be easy to use, and simple to understand hence an ideal starting point for anyone learning to program for windows using C++. It also caters for the needs of professional developers, providing them with a framework that is robust, efficient and flexible. Win32++ supports all Windows operating systems, from Windows 95 through to Windows 7 and Windows Server 2008. It also supports the Windows CE operating system which runs on runs on the various Pocket PCs, Smart Phones, as well as industrial devices and embedded systems. It is a MIT License.

  3. The Open Foundation Classes (OFC) - a frameset of C++ classes for applications running under windows (32bit). They are 100% compatible with the MFC and will be improved in various ways. All not compatible parts are signed with a prefix. It is a GNU Library or Lesser General Public License (LGPL).

  4. Free Foundation Classes (FFC) -  an open source library designed for compiling MFC/ATL applications by gcc.

  5. Visual Component Library (VCL) - is visual part of Delphi's object oriented class library. Delphi's class library consists of a huge number of classes descending from TObject, the root object, and the VCL generally comprises the classes that descend from TComponent. Thus VCL classes are generally termed components. It was developed by Borland for use in its Delphi and C++ Builder software development environment. It is written in Object Pascal. Much of the popularity of VCL comes from its tight integration with visual RAD tools from Borland. A cross-platform equivalent of VCL called CLX (Component Library for Cross Platform) was later developed for use in Delphi, C++ Builder and Kylix, it was however abandoned in favor of VCL.

  6. Object Windows Library (OWLNext) is a modern update and extension of Borland's Object Windows Library for writing GUI applications in standard C++ on Microsoft Windows. With support for a wide range of modern compilers, OWLNext provides a migration path for legacy OWL applications written in Borland C++. OWLNext is maintained and supported by the user community.

  7. The JEDI Visual Component Library (JVCL) consists of a large collection (currently ca 500) visual and non-visual components which can be instantly reused in your Delphi, Kylix and C++ Builder projects. The library is grouped into several categories such as Enhanced Standard, Visual, Non-Visual, Data Aware and many, many more. The library is released to the public under the terms of the Mozilla Public License (MPL) and as such can be freely used in both freeware, shareware, open source and commercial projects.

  8. GuiToolkit MFC Extension - open source GUI library which contains a complete set of classes based on MFC, that allows you to build applications with nice and sophisticated interfaces such as Visual Studio .NET, Office 2003 etc. The primary target is to have a complete free library that can be used without restrictions and suitable to user or programmers needs. This class set includes file management, connection through ADO, up to complex user’s interface classes.

  9. BCGControlBar Professional is an MFC extension library that allows you to create the most advanced user interfaces in the world. It combines an easy to use and very powerful feature set implemented by highly customizable collection of MFC extension classes.

  10. Smartwin++ - an open source C++ GUI library which is free C++ GUI and SOAP library for developing Windows applications both on Desktop, Pocket PC, Windows Mobile or Windows CE based systems. You can freely use SmartWin++ for commercial applications and for Open Source applications. SmartWin++ was initially made to replace MFC and WTL but today thank to WineLib it can also be used on non-Windows systems. It is a modern designed C++ library which uses STL where possible and boost where needed, but if you download SmartWin++ you don't need to bother downloading boost, everything you need is bundled in the download except for the C++ compiler.

  11. The CodeProject Ultimate Toolbox open source MFC - MFC libraries from CodeProject.

  12. More, such as Qt C++, wxWidgets, GTK+, Fox toolkit, Cocoa (Mac OS X only, Objective C), Carbon (Mac OS only, C) etc. C & C++ Programming Resources, hands-on approach