MFC Desktop Application Development

Spread the love

MFC was released in 1992 by Microsoft, and it immediately became popular. MFC applications are still widely used, despite Microsoft’s introduction of competing application frameworks since then. MFC is a C++ object-oriented library for creating Windows desktop applications. MFC is a C++ library that wraps elements of the Windows API, allowing users to use the default application framework. Many handle-managed Windows objects, as well as default windows and common controls, have classes defined.

MFC featured C++ macros for Windows message handling, exceptions, run-time type identification, serialization, and dynamic class creation when it was first released. The message-handling macros were designed to save memory by avoiding the usage of unnecessary virtual tables, as well as to give a more solid structure for various Visual C++ supplied tools to edit and change code without having to parse the entire language.

The message-handling macros took the place of C++’s virtual function system. By several years, the macros for serialization, exceptions, and RTTI predates the availability of these capabilities in Microsoft C++. Upward compatibility was achieved by using compilers that implemented the language features and modified the macros to merely wrap the language features rather than providing specialized implementations in the 32-bit version of MFC for Windows NT 3.1 and later Windows operating systems.

Creating MFC Applications

MFC application is a windows executable application that is based on the Microsoft Foundation Class Library. Standard Windows applications, dialogues boxes, forms-based apps, Explorer-style applications, and Web browser-style applications are the five types of MFC executables. Depending on the parameters you make in the wizard, MFC applications generate the relevant classes and files for any of these sorts of applications. The MFC application wizard is the simplest way to construct MFC applications. Use the Windows Desktop Wizard and select the Console application and MFC Headers options to create an MFC console application.

Steps to create an MFC dialog-based application

1. Choose the File option> New> go to the main menu then select Project
2. In the search box, type “MFC” and then select MFC app from the list of results
3. Make any necessary changes to the settings, and then select Create to launch the MFC Application Wizard
4. Make any necessary changes to the configuration values, then click Finish

Step to create an MFC console application

1. Choose the File option> New> go to the main menu then select Project
2. In the search box, type “Desktop”, and then select Windows Desktop Wizard from the list of results
3. Make any necessary changes to the project name, then press Next to launch the Windows Desktop Wizard
4. Check the MFC Headers box, make any necessary changes, and then press Finish

What is MFC desktop application?

Much of the Win32 and COM APIs are wrapped in an object-oriented wrapper by the Microsoft Foundation Class Library. It can be used to construct extremely simple desktop apps, but it’s best for developing more complicated user interfaces with several controls. MFC can be used to construct programmers with user interfaces similar to those found in Microsoft Office.

Windows documentation for information on the Windows platform, build Windows apps using the Win32 API for information on developing Windows applications in C++ without MFC. The Microsoft Foundation Class Library’s classes, global functions, global variables, and macros are all covered in the MFC reference.

Base classes can be found using the individual hierarchy charts given with each class. Inherited member functions and inherited operations are rarely described in the MFC Reference. Refer to the base classes indicated in the hierarchy diagrams for more information on these functions. A class overview, a member summary by category, and sections for member functions, overloaded operators, and data members are all included in the documentation for each class.


The Microsoft Foundation Class Library is a collection of classes that can be used to create application programs. Use of C++ language to write the MFC applications, has added so many advantages and one of such advantages is that MFC Library saves programmer’s time by supplying previously written code. Apart from all these, It also provides a general framework for the application program’s development.

If you are having an existing product that has MFC as UI framework, OdiTek’s expertise will be useful to upgrade the GUI. Both for upgrade and migration of user interfaces, we can help utilizing our experience with MFC. For more information, please drop an email to

What OdiTek offers

Certified Developers

Deep Industry Expertise

IP Rights Agreement -Source Codes to Customers, legal compliance

NDA – Legally binding non-disclosure terms

Compliance to Software Development Quality Standards

Product Development Excellence

Dedicated Project Manager (Not billed)

Proactive Tech Support-Round the Clock

Commitment to Schedule

High performance, Secure software design

Guranteed Cost Savings & Value Addition

Consistent Achiever of Customer Happiness

Refer our Skills page:

C++ Development

C++ is one of the most popular object-oriented programming language that is used for multi-device and multi-platform enterprise-class large scale performance -driven application development. The C++ language combines increased capacity and optimal performance of software that is why it is widely used for building well-organized...

Read More

Client Testimonials

If you need additional information or have project requirements, kindly drop an email to:

Latest Insights

Test Automation Made Easy with Tosca Software Testing

Tosca stands for Topology and Orchestration Specification for Cloud Applications. It is an AI-based automation tool designed to automate various types of applications without writing...

Top Skills for Sitecore Developers

In today's fast-paced digital landscape, having a robust and dynamic content management system (CMS) is vital for businesses aiming to deliver personalized and engaging customer...

Leveraging Angular for Mobile Development

Mobile apps have become essential in the business and industrial fields, driving efficiency and enhancing customer engagement. With the rise of Angular mobile development, companies...

The Art of Cyber Defense: Specializing in Data Security and Management

Data security is more important than ever in the globally interconnected society. The increasing amount of digital transactions and online services containing sensitive data has...

× How can I help you?