Visual C++ and MFC training course

Create Efficient Responsive Robust Visual C++ Applications - Where Performance Matters

JBI training course London UK

"Overall I felt it improved my knowledge of C++ - filled in some gaps and corrected some misunderstandings in my knowledge, and reminded me of some important things I'd forgotten." 

IH, Software Engineer, May 2021

Public Courses

17/08/26 - 5 days
£3250 +VAT
28/09/26 - 5 days
£3250 +VAT
09/11/26 - 5 days
£3250 +VAT

Customised Courses

* Train a team
* Tailor content
* Flex dates
From £1200 / day
EDF logo Capita logo Sky logo NHS logo RBS logo BBC logo CISCO logo
JBI training course London UK

  • Understand C++ and Windows application architecture
  • Create Efficient Responsive Robust Visual C++ Applications - Where Performance Matters
  • Gain an Introduction to Object Oriented Programming
  • Define Classes & Libraries
  • Explore The Microsoft Foundation Classes
  • Understand Resources with Menus Toolbars and Bitmaps
  • Learn Messages and Message Maps
  • Utilise Scrolling and Splitting
  • Learn Dialogs with Data exchange and validation
  • Utilise Graphics, Text and Printing
  • Explore Messaging Functions: Define messages 
  • Multitask with threads and priority classes
  • Connect to Data Base and Use Databases

Introduction

  • Visual C++ or Visual Studio .NET. Object Oriented Programming

Classes

  • Defining a class
  • Constructors
  • Destructor
  • Inline functions

Pointers and Dynamic Memory

  • Declaring pointers
  • Use of new and delete
  • Exception handling

Inheritance – Polymorphism

  • Virtual functions
  • Pure virtual functions
  • Abstract classes

Introduction to Windows

  • Windows Architecture

The Microsoft Foundation Classes

  • Overview of MFC library
  • Document/view architecture.

Resources

  • Menus
  • Toolbars
  • Bitmaps

Messages and Message Maps

  • Messages handled in MFC
  • Message Map Macros
  • Message routing
  • Commands and UI Commands
  • Menus, dialogs and toolbars

Collections and Serialization

  • Original Collections
  • Template Collections
  • Serialization

Scrolling and Splitting

  • Document/View architecture
  • Document Templates
  • Splitter Windows
  • ScrollView

Dialogs

  • Dialog resources
  • Creating a dialog class
  • Adding Controls
  • Associating members and Controls
  • Adding event handlers
  • Data exchange and validation

Clipboard

  • Cut, copy, paste

Graphics, Text and Printing

  • Graphical Device Interface (GDI)
  • Device Context (DC)
  • Drawing text and Fonts
  • Pens, brushes and Colours
  • Printing and Print Preview

Defining Messages

  • User Messages
  • Registered messages
  • Sending and posting messages
  • Adding to message map

Multitasking

  • Threads
  • Mutex, Semaphore and Event
  • Priorities and Priority classes

Connecting to Databases

  • Open Database Connectivity (ODBC)
  • Data Access Objects (DAO)
  • Database classes

Overview of ATL and STL

  • Servers and Simple Objects
  • Overview of Standard Templates
  • Libraries
JBI training course London UK

This course is aimed at giving programmers an intensive introduction to developing commercial-quality Windows applications using Visual C++ and the Microsoft Foundation Class Library (MFC)..

5 star

4.8 out of 5 average

"Overall I felt it improved my knowledge of C++ - filled in some gaps and corrected some misunderstandings in my knowledge, and reminded me of some important things I'd forgotten." 

IH, Software Engineer, May 2021



“JBI  did a great job of customizing their syllabus to suit our business  needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and  the Instructor handled this particularly well - very impressive”

Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022

 

 

JBI training course London UK

Certification


Every delegate will be entitled to a certificate of achievement on completion of the course.

If you are missing your certificate - please use the link below to apply - you can also use this link to sign up for the JBI Training newsletter to receive technology tips directly from our instructors - Analytics, AI, ML, DevOps, Web, Backend and Security.
 



This MFC training course is aimed at giving programmers an intensive introduction to developing commercial-quality Windows applications using Visual C++ and the Microsoft Foundation Class Library (MFC). C++ has always been an exciting and challenging language and with the advent of the new C++ 11, 14 and 17 standards this is even more the case.  As such, C++ is best mastered by a hands on tutorial style approach rather than by a traditional lecture style.  In this course practical examples are built from scratch in Windows, MacOS and Linux using VC++, clang and gcc.. Understanding is key with C++ and many complex topics such as ‘R Value References’, ‘Universal References’, ‘Expression Templates’ are explored in detail.  Delegates are encouraged to fully participate in instructor led live demonstrations of such topics and by the end of the course each delegate departs with a comprehensive set of working examples.
 
JBI Training offers six C++ courses covering the full range of experience levels and specialisms. Available courses include C++ Introduction (four days), C++ Advanced (four days), C++ 20 and 23 (four days), Visual C++ and MFC (five days), Test Driven Development with C++ (three days), and AI-Assisted C++ Development (three days). All courses are available as scheduled classroom sessions in London, as live online instructor-led training, or as customised onsite programmes for development teams.
C++ is a high-performance, general-purpose programming language that gives developers a high degree of control over system resources and memory. It is used across a wide range of industries and application types including embedded systems, operating systems, game engines, financial trading systems, real-time processing, graphical user interfaces, server-side processes, and high-performance computing. C++ is valued for its combination of low-level memory control and high-level object-oriented and generic programming features, making it one of the few languages capable of delivering both performance and abstraction at scale. It remains one of the most widely used programming languages in systems and performance-critical software development.
The C++ Introduction course is a four-day programme designed for developers who are new to C++ or coming from another language such as C, Java, or C#. It covers the core language features including object-oriented programming, memory management, pointers and smart pointers, data structures, inheritance, polymorphism, templates, and an introduction to the Standard Library. The C++ Advanced course is a four-day programme for experienced C++ developers who want to deepen their expertise. It covers advanced templates and metaprogramming, C++ idioms and design patterns, the Standard Template Library in depth, the Boost libraries, policy-based design, and advanced use of language features for correctness and performance.
The C++ 20 and 23 course is a four-day programme covering the features introduced in the C++20 and C++23 standards — the most significant updates to the C++ language in over a decade. C++20 introduced concepts (constraints on template parameters), ranges (a new approach to working with sequences of data), coroutines (for asynchronous and cooperative multitasking), modules (a replacement for the traditional header file system), and significant improvements to the standard library. C++23 builds on these foundations with further library enhancements and language refinements. The course is designed for C++ developers who are already familiar with modern C++ (C++11 through C++17) and want to adopt the latest language standards in their codebase.
Test-driven development (TDD) is a software development practice in which tests are written before the implementation code they are intended to verify, following a red-green-refactor cycle. The developer writes a failing test, writes the minimum code needed to make it pass, then refactors the code while keeping the tests passing. JBI's three-day Test Driven Development with C++ course teaches this discipline in the context of C++ development, covering unit testing frameworks for C++, how to write effective and maintainable tests, applying TDD to object-oriented and generic C++ code, refactoring techniques, and how to integrate TDD into a professional C++ development workflow. It is suitable for C++ developers who want to improve code quality, reduce defects, and build more maintainable software.
The AI-Assisted C++ Development course is a three-day programme that teaches C++ developers how to work professionally and effectively with AI coding assistants such as GitHub Copilot, Claude Code, and similar tools in a C++ development context. The course covers how to write clear specifications and prompts that produce useful C++ code from AI agents, how to evaluate and critically review AI-generated C++ code for correctness, safety, and performance, how to apply test-driven development as a verification discipline when working with AI-generated code, and how to integrate AI coding tools into a professional C++ development workflow without compromising code quality or security. It is designed for practising C++ developers who are beginning to use or wanting to use AI coding tools more effectively.
Visual C++ is Microsoft's C++ development environment within Visual Studio, and MFC (Microsoft Foundation Classes) is a C++ class library that wraps the Windows API, enabling developers to build Windows desktop applications using object-oriented C++. The five-day Visual C++ and MFC course is designed for developers who need to build or maintain Windows desktop applications using Microsoft's C++ toolchain. It covers the Visual Studio development environment, the MFC application framework, window management, message handling, dialog boxes, controls, GDI graphics, file handling, and database access. It is particularly relevant for developers maintaining legacy Windows applications built with MFC, or those building new Windows desktop software in a Microsoft environment.
C++ compiles directly to machine code, giving it performance characteristics that managed languages such as C# and Java cannot match in scenarios where execution speed, memory control, or hardware proximity are critical. C# and Java run on managed runtimes (CLR and JVM respectively) which provide memory management, garbage collection, and platform portability at the cost of some control and performance overhead. C++ is the right choice when performance is paramount — such as in game engines, financial trading systems, embedded systems, operating systems, and real-time processing — or when direct hardware access or fine-grained memory management is required. For most business application development where performance is not the primary concern, C# or Java may be more productive. JBI offers training in all three languages.
Yes. All C++ courses at JBI can be delivered as customised onsite or online programmes for corporate development teams. Content can be tailored to the team's specific C++ standard (for example C++17 or C++20), the platforms and compilers they use, the application domain (embedded, finance, gaming, systems), and any specific language features or codebase challenges they want to address. Organisations with existing C++ codebases can request training that uses their own code as the basis for exercises, which is particularly effective for teams working through a migration to a newer C++ standard or adopting modern C++ practices in a legacy codebase. JBI has delivered C++ training for development teams at organisations including the BBC, NHS, Cisco, Sky, RBS, and EDF.
Yes. JBI's C++ training content is continuously reviewed and updated to reflect the latest ratified C++ standards and compiler support. This currently includes C++20 and C++23, with coverage of features such as concepts, ranges, coroutines, and modules. Course content also reflects current best practices in modern C++ development — including the use of smart pointers, RAII, the Standard Template Library, and the Boost libraries — as well as the growing role of AI coding assistants in C++ development workflows. Delegates learn skills that are current and applicable to professional C++ development today.

CONTACT
+44 (0)20 8446 7555

[email protected]

 

Copyright © 2026 JBI Training. All Rights Reserved.
JB International Training Ltd  -  Company Registration Number: 08458005
Registered Address: Wohl Enterprise Hub, 2B Redbourne Avenue, London, N3 2BS

Modern Slavery Statement & Corporate Policies | Terms & Conditions | Contact Us

POPULAR

AI training courses                                                                        CoPilot training course

Threat modelling training course   Python for data analysts training course

Power BI training course                                   Machine Learning training course

Spring Boot Microservices training course              Terraform training course

Data Storytelling training course                                               C++ training course

Power Automate training course                               Clean Code training course