Visual Studio

Mastering MFC Fundamentals Using Microsoft Visual C++ (Classroom View)
(Microsoft Training Course: 1011) - 5 days - £2640 exc VAT

> Target Audience
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.
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 outline
  1. Fundamentals and Architecture of Microsoft Windows
  2. Fundamentals and Architecture of MFC
  3. Using Microsoft Developer Studio
  4. Creating MFC Applications
  5. Debugging
  6. Handling Messages
  7. Outputting Text and Graphics
  8. Adding User-Interface Features
  9. Creating and Using Dialog Boxes
  10. Creating and Using Templates
  11. Implementing Persistence

Supplementary InformationThis course has now retired and is no longer available. We suggest you look at Course [[{http://www.F1Comp.Co.UK/computer_training/Microsoft_Training_Courses/Visual-Studio-.Net/2609.aspx}2609: Introduction to C# Programming with Microsoft .NET]].
Module 1: Fundamentals and Architecture of Microsoft Windows
  • Understanding Windows architecture
  • Anatomy of a Windows-based application
  • Analysing a simple Windows-based application
  • 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 initialised and windows are created.
Module 2: Fundamentals and Architecture of MFC
  • Introduction to MFC
  • MFC class hierarchy
  • Documents, views, and the application framework
  • 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.
Module 3: Using Microsoft Developer Studio
  • Introduction to Developer Studio
  • MFC wizards
  • Managing your projects
  • Resource editors
  • Using the gallery
  • Information resources
  • Lab: Creating an SDI application
  • 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.
Module 4: Creating MFC Applications
  • Classes in a minimal MFC application
  • Writing applications in non-document/view
  • Document/view fundamentals
  • Analysing a document/view application
  • Lab: Hand-coding a minimal MFC application
  • Lab: Using AppWizard to create an MFC application
  • 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.
Module 5: Debugging
  • Debugging environment
  • Using the Developer Studio debugger
  • Adding MFC debugging support
  • Lab: Using the debugger
  • Prepare MFC projects for debugging.
  • Use the Developer Studio debugger and Visual C++ debugging tools.
  • Add MFC debugging support to an application.
Module 6: Handling Messages
  • Introduction to messages
  • Message mapping system
  • Creating a message map
  • How MFC processes messages
  • Using wizards to handle messages
  • Lab: Messages with MFC
  • 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.
Module 7: Outputting Text and Graphics
  • Writing output to a device
  • Using the CDC class
  • Using graphics device interface (GDI) objects
  • Working with mapping modes
  • Special visual effects
  • Lab: Drawing graphics and text to the screen
  • 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.
Module 8: Adding User-Interface Features
  • Menus
  • Toolbars
  • Status bars
  • Lab: Adding static drop-down menus
  • Lab: Changing text in menus
  • Lab: Adding a shortcut menu
  • Lab: Adding a pane to the status bar
  • 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.
Module 9: Creating and Using Dialog Boxes
  • Designing and creating dialog boxes
  • Implementing the dialog-box class
  • Creating property sheets
  • Using common dialog boxes
  • Using list boxes
  • Lab: Modifying resources and adding dialog boxes
  • Lab: Using common dialog boxes
  • Lab: Adding a property sheet to an application
  • 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.
Module 10: Creating and Using Templates
  • Overview
  • Creating function templates
  • Creating class templates
  • Using collection templates
  • Debugging templates
  • Lab: Creating class and function 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.
Module 11: Implementing Persistence
  • Serialization
  • Registry
  • Lab: Persisting data
  • Define serialization and how it is integrated in MFC.
  • Describe how MFC supports persistent storage.
  • Create a serialisable class.
  • Create and use serialisable objects.
  • Describe the registry.
  • View and modify the registry.
  • Programmatically update the registry.
> Pre-Requisites
This course requires that students meet the following prerequisites:
  • 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
> Purpose
At the end of the 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
> Supplementary Information
This course has now retired and is no longer available. We suggest you look at Course [[{http://www.F1Comp.Co.UK/computer_training/Microsoft_Training_Courses/Visual-Studio-.Net/2609.aspx}2609: Introduction to C# Programming with Microsoft .NET]].