MFC Applications

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

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...


Client Testimonials

We had a tough deadline to launch our .Net based application that processes a lot of data, and got very frustrated with our development agency we hired. Fortunately we got Oditek, and they took over seamlessly the product development, launched the app & continued feature development. Just awesome!

Neal Bonrud

Co-Founder – SubScreener, USA

They were very attentive to our needs as clients and went out of the way to make sure our projects were taken care of. They were always able to get projects done in the specifications we requested. They are passionate about getting things done; I would definitely recommend them to lead any IT projects.

Dann Manahan

Sr VP Technology- 1031 Crowd Funding

I worked with OdiTek on few high profile banking application projects. They did a fantastic job with web applications & manual testing on the VAS apps for two leading banks of UK that included rigorous UAT phases. I recommend them for any application development where security matters.

Clive Shirley

CTO- Smarta, UK

OdiTek is our extended team who works on our key software projects. They are dependable, good in collaboration and technically very much to the level what we expect a global team should be. They had transformed our web applications, CRM and added mobility to existing business platforms here.

Matt Berry

IT Manager- First Option Online

It's been more than 4 years now that we are working with OdiTek on our cloud based web product development. It's been amazing working together, they are very competent on designing scalable, high performance apps. Their technical support is outstanding to say the least, even at odd hours.

Brad Taylor

CEO- BluesummitTech, USA

I am a fan of Team OdiTek since 2014 and have worked on many product development projects together. Specially worth mentioning their deliveries on VAS Banking web application development & manual testing services for Smarta, UK. They are highly skilled & a professional team to work with.

Tom Bowden

Digital Propositions - HSBC, London

OdiTek has been working on our Integrated Web-scale Mobile Platform i.e. Optimal Health since 2014. They are very professional and takes care of the requirements meticulously. They are technically very sound and sincere in ensuring quality & performance. Wonderful working with them!

Catherine Lim

COO- Medilink Global Sdn Bdh

You can trust the team, with minimum supervision you get the work done. They are honest, professional & committed to schedule & quality. I had been successfully running 3 business applications designed, developed and maintained by Oditek developers. It’s been a pleasure working with them.

Scott Evans

CEO- Pink Storage, UK

OdiTek has been working in custom software development, including services for test automation. Many of them have worked with me in 2009-10 when I was R&D Manager in NetHawk India. They have great enthusiasm & a passion to excel in bringing customer success. Their work has been very impressive.

Karen Hamber

Senior Product Manager- Skype

It's amazing to see these guys are turning their experience into a global delivery excellence at OdiTek. I am sure their past large scale product development experience will be handy to product companies. I would always recommend Oditek for software development, especially performance-driven solutions.

Juha Marjeta

Opti Automation Oyj

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