Toll Free: 800-735-7418
Local: 303-377-9333
info@hartmannsoftware.com
 
 

 
VISUAL C++ WINDOWS PROGRAMMING FOR STRUCTURED PROGRAMMERS

Course Description  
This intensive course teaches C++ and Windows programming using Visual C++ and the Microsoft Foundation Class Library (MFC). The course consists of two modules.

In the first module object oriented concepts are introduced. The Visual C++ development environment is demonstrated. The C++ class construct is introduced and its key features elaborated step-by-step, providing full implementation of abstract data types. C++ memory management is discussed. Function and operator overloading and the use of references are covered. The scope and access control mechanisms of C++ are described. Inheritance is introduced. The use of virtual functions to implement polymorphism is discussed.

The second module covers the essential elements of Windows programming via an object oriented approach using Visual C++ and the MFC. The basic structure of Windows programs and the MFC encapsulation is explained, and then the power of MFC and the Visual C++ development environment is exploited to build working Windows applications. The student will gain experience using the Visual Studio, AppWizard, and ClassWizard. Fundamental Windows programming topics are covered, including the mouse, keyboard, Graphics Device Interface, controls, dialog boxes, menus, toolbars and status bars. The document/view architecture is introduced. A fundamental approach is taken to understanding MFC, building programs by making direct calls to MFC before using automated tools.

Course Length: 5 Days
Course Tuition: $1990 (US)
Prerequisites
Strong structured programming knowledge and experience
Course Outline  

• Module 1. Object Oriented C++ Programming Fundamentals

• Concepts of Object Oriented Programming Objects

Objects
Information Hiding and Encapsulation
Abstract Data Types
Methods and Messages
Classes
Class Inheritance
Polymorphism

• Classes in C++

Data Encapsulation in C and C++
Definition of C++ Classes
Member Data and Functions
this Pointer
Abstract Data Types
Organizing Code for Classes

• Functions in C++

Function Prototypes and Type Checking
Conversion of Parameters
Default Arguments
Inline Functions
Function Overloading

• Constructors and Destructors

Constructors and Initializations
Object Creation and Destruction
Destructors
Multiple Constructors in a Class
Hidden Constructors

• Memory Management in C++

Static, Automatic and Heap Memory
New and Delete
Handling Memory Allocation Errors
Hiding Details of Memory Management in a Class
Implementing a Dynamic String Class

• References and Argument Passing in C++

Call by Value
Reference Declarations
Reference Arguments
Copy Constructor
Constant Arguments and Functions

• Operator Overloading, Initialization, and Assignment

Operator Overloading
Semantics of Assignment
Initialization vs. Assignment
Overloading Assignment
Type Conversions

• Scope and Access Control

Scope in C++
Friend Functions
Const and Enumeration Types
Static Members

• Introduction to Inheritance

Inheritance for Modeling and Reuse
Class Derivation
Access Control
Base Class Initialization
Composition
Initializing Class Type Members

• Polymorphism and Virtual Functions

Virtual Functions and Dynamic Binding
Polymorphism in C++
Pointer Conversion
Virtual Destructors
Abstract Classes and Pure Virtual Functions

• Appendix A. Introduction to Visual C++

Visual C++ Development Environment
Visual Studio
Managing Projects
Compiling and Linking
Debugging
• Module 2. MFC Windows Programming Fundamentals

• Introduction to Windows Programming and MFC

Structure of Windows Programs
Application Frameworks
Class Hierarchy of the MFC Library
CWinApp and CFrameWnd Classes
Event-Driven Programming
Windows Messages
Message Maps

• User Input in Windows

Mouse
Using ClassWizard
Using Spy++
Invalidating the Client Area
Keyboard

• Graphics Device Interface

Device Contexts
GDI Object Creation and Cleanup
Colors
Pens and Brushes
Drawing with Text

• More About Windows

MFC Encapsulation of Windows
Window Creation and Destruction
Focus and Activation
Sending and Posting Messages
Overlapped, Popup and Child Windows
Child Windows and Owned Windows

• Document/View Architecture

Using AppWizard
Document and View Classes
Document Templates
SDI and MDI Applications
Document/View Program Structure
Synchronizing Document and Views
Making a Document Persistent

• Menus and Resources

Resources in Windows Programs
Developer Studio Resource Editors
String Tables
Menus and Command Messages
Update Command UI Messages
Keyboard Accelerators

• Controls and Dialogs

Modal and Modeless Dialog Boxes
Resources and Controls
Controls as Child Windows
CDialog Class and Programming a Modal Dialog
Designing Dialogs with Dialog Editor
Using ClassWizard
Dialog Data Transfer

• Toolbars and Status Bars

Command Messages
MFC Control Bar Classes
Toolbars
Idle Time Processing
Tooltips
Status Bars

Contact us for course schedules or more information.
 

Registration and Pricing
The Virtual Classroom
Mentoring Services


Fresh Off The Press MySQL Admin/Dev
Sharepoint for Developers
Advanced XML
Securing Java Web Services
Exploring Design Patterns
Fast Track to Java EE
Ajax using C# (VS 2008) Oracle 11G New Features Complete LINQ