Mastering MFC Fundamentals Using Microsoft Visual C++

This course covers the fundamentals of the Microsoft® Foundation Class (MFC) libraries. It is the entry-level course in the Microsoft Visual C++®/MFC curriculum and serves as a prerequisite to an intermediate-level course.
SKU: 1011

DEMO: This is a sample video of this course.

Course Length: 10 Hours 33 Minutes 48 Seconds
The paid version of this course contains videos of following topics: 

Course Outline

Chapter 1: Fundamentals and Architecture of Microsoft Windows

    Define processes, threads, and multitasking.
    Describe the structure of memory management.
    Explain the purpose of messages and the concept of event-driven programming.
    Describe the minimum components of a simple Windows-based application.
    Explain how an application is initialized and windows are created.

Chapter 2: Fundamentals and Architecture of MFC

    List the major categories of MFC and the primary classes derived from each category.
    Describe the relationship of the foundation class CObject to the other MFC classes.
    Explain the key features CObject contributes to the classes derived from it.
    Define the main base classes used in a typical MFC application.
    Describe the document/view architecture and how this architecture applies to MFC.
    Describe the benefits and costs of document/view, non-document/view, and dialog-based application architectures.
    Describe how MFC maps messages to functions.

Chapter 3: Using Microsoft Developer Studio

    Use AppWizard to create an SDI application.
    Explain the purpose of the Project Workspace window.
    Describe the benefits of using ClassWizard to create and modify classes.
    Use the Developer Studio Gallery to add a component to an application.
    Use several of the resource editors.
    Gain access to Visual C++ and MFC Help and online documentation.
    Build and run a simple SDI application.

Chapter 4: Creating MFC Applications

    Describe the classes in a minimal MFC application.
    Write a non-document/view application without using MFC wizards.
    Describe the classes used in a document/view application.
    Explain how objects in a document/ view application interact with each other.
    Create a document/view application based on the SDI application using AppWizard.

Chapter 5: Debugging

    Prepare MFC projects for debugging.
    Use the Developer Studio debugger and Visual C++ debugging tools.
    Add MFC debugging support to an application.

Chapter 6: Handling Messages

    Define what a message is in the Windows operating system.
    List the types of MFC Library messages.
    Describe the purpose and benefits of message maps.
    Declare and implement a message map.
    Describe how the MFC framework processes messages.
    Create the framework for a simple multiple document interface (MDI) application.
    Use ClassWizard and the WizardBar to add or delete an event's message handler.
    Implement a handler member function.
    Add a message box to a handler function to provide information to an end user.

Chapter 7: Outputting Text and Graphics

    Describe a device context.
    List the purposes of CDC, CPaintDC, and CClientDC.
    Output text to the View window.
    List and describe standard GDI objects.
    Output simple graphics objects, such as lines and rectangles.
    Use stock objects effectively in an application.
    Describe mapping modes.
    Describe ROP2 codes.
    Use the BitBlt function.

Chapter 8: Adding User-Interface Features

    Add menus, accelerator keys, status bar menu prompts, and toolbar buttons to an application.
    Explain the routing of a command message.
    Dynamically change the state of a menu item.
    Incorporate a context or shortcut menu into an application.
    Add additional panes and graphics to a status bar.

Chapter 9: Creating and Using Dialog Boxes

    Define the different types of dialog boxes.
    Explain how dialog boxes are built by using MFC Library.
    Use Dialog Editor to create a dialog-box template.
    Use ClassWizard to create dialog-box classes.
    Write code to manage dialog data exchange (DDX) and data validation (DDV).
    Create an instance of the dialog-box class.
    Create and customize common dialog boxes.
    Create property sheets.

Chapter 10: Creating and Using Templates

    Describe the advantages of using function and class templates.
    Describe the differences between function templates and class templates.
    Instantiate and override a function template.
    Instantiate a class template.
    Use a template to create a type-safe collection of objects.

Chapter 11: Implementing Persistence

    Define serialization and how it is integrated in MFC.
    Describe how MFC supports persistent storage.
    Create a serializable class.
    Create and use serializable objects.
    Describe the registry.
    View and modify the registry.
    Programmatically update the registry.
The goal of this course is to familiarize programmers with the Microsoft Developer Studio™ visual development system and teach them how to create single document interface (SDI) applications using MFC and the Visual C++ development system.

Course Completion

Upon completing this course, students will be able to:

    Describe Microsoft Windows®-based architecture concepts including event-driven programming, processes, virtual memory models, threading, multitasking, and messaging.
    Describe the basic architecture of an MFC application and the general structure of the MFC Library.
    Use the resource editors and tools provided in Visual C++.
    Create and debug a simple SDI application that outputs text and graphics.
    Use MFC to design, create, and implement menus, toolbars, status bars, and dialog boxes in an application.


Before beginning this course, students should be familiar with:

    C++ programming skills, including all of the C++ coding constructs common with C
    Windows-based user skills, including using a mouse, menus, the file system, and the Microsoft Internet Explorer interface
    Object-oriented programming terminology and concepts such as objects, properties, and methods