| Introduction
This self-paced CD-ROMbased course teaches experienced
programmers how to create sophisticated Microsoft Foundation Class (MFC)
Librarybased applications designed to solve business problems. You will learn how to
use, modify, and extend MFC to create reliable desktop and enterprise solutions.
The course also covers how to create and integrate OLE
controls into applications, and create database applications using Open Database
Connectivity (ODBC) and Data Access Objects (DAO).top
At Course Completion
At the end of the course, students will be able to:
Create user interface constructs.
Display text and simple graphics device interface (GDI) elements.
Implement persistence.
Integrate user-defined classes into the document-view architecture.
Build dynamic-link libraries (DLLs) that link to MFC.
Implement database support using ODBC and DAO.
Create and use OLE controls.
Add Help to applications.
Extend printing and print preview capabilities of applications.
Microsoft Certified Professional Exams
This course helps you prepare for the following Microsoft Certified Professional exam:
Exam 70-024, Developing Applications with C++ Using the Microsoft Foundation Class Library
top
Prerequisites
Programming experience in C++
Familiarity with the Windows operating system event-driven programming model
The course materials are in English. To benefit fully from our instruction, students need
an understanding of the English language and completion of the prerequisites.
Course Materials and Software
All course materials are included on the Mastering Visual C++ CD-ROM. top
System Requirements
Personal computer with a 486DX or higher processor running the Microsoft Windows 95
operating system or Microsoft Windows NT Workstation operating system version 3.51
or later
8 MB of memory (16 MB recommended) for Windows 95; 12 MB of memory (20 MB recommended) for
Windows NT Workstation
10 MB of available hard-disk space
MPC2-compatible CD-ROM drive
Super VGA or higher-resolution video adapter capable of displaying 256 colors or greater
Microsoft Mouse or compatible pointing device
MPC2-compatible audio board required for audio and video instruction
Installation of Microsoft Visual C++ is required to run lab exercises. top
Course Outline
Chapter 1: Windows
Fundamentals and Architecture
Topics:
Win32®-based architecture
Anatomy of a Windows-based application
Displaying and using windows
Event-driven programming top
Skills:
Students will be able to:
Describe the overall architecture of Windows-based
applications.
Define the terms process and thread, and describe their
characteristics in the Win32-based environment.
List the various graphical user interface (GUI) parts of a
Windows-based application.
Explain the function of messages, diagram their flow, and
explain the event-driven paradigm. top
Describe important Windows-based programming issues such as
activation and focus, and window invalidation and repainting.
Explain the general structure and features of memory
management in the Microsoft Windows 95 and Windows NT operating systems. top
Chapter 2: MFC
Architecture
Topics:
Classifications of MFC
Classes in a minimal MFC application
Document/view architecture
Non-document/view architecture top
Skills:
Students will be able to:
List the benefits provided to the majority of Microsoft
Foundation Classes by deriving from CObject.
List the classifications of classes as defined by MFC.
Define the base classes in a typical MFC application.
Describe the purpose of and the justification for
document/view architecture.
Describe the benefits and costs of document/view,
non-document/view, and dialog-based application architectures. top
Chapter 3: Creating
a Visual C++ Project
Topics:
Developer Studio
AppWizard, ClassWizard
Component Gallery
Resource editors
Browser
Debugging top
Labs:
Building an AppWizard application
Hand-coding a minimal MFC application
Creating a dialog-based application
Skills:
Students will be able to:
Use the tools in Microsoft Visual C++® development system
version 4 (Microsoft Developer Studio). top
Use AppWizard to build a Single Document Interface (SDI)
application.
Use ClassWizard to add a handler.
Use several of the resource editors.
Explain the purpose of the Project Workspace window.
Describe the structure and function of the Component Gallery.
top
Access online information, including Visual C++ Help and
Books Online.
Build and run a simple application from within Visual C++.
Use Browser to display information about symbols, class, and
function relationships in the project.
Describe debugging capabilities in Microsoft Developer
Studio. top
Chapter 4: Handling
Messages
Topics:
Windows messages
Message map
Using ClassWizard to manage message handlers
Using WizardBar to handle messages
Advanced message handling top
Lab:
Simple message handling
Skills:
Students will be able to:
Define the term message as it applies to the Microsoft
Windows operating system.
List the types of MFC messages. top
Describe how messages are handled by application framework.
Describe the purpose of a message map and explain how one is
declared and implemented.
Use ClassWizard and WizardBar to add or delete an event's
message handler.
Implement a handler member function (for instance,
implement OnRButtonDown to respond to a right mouse-button click). top
Explain the purpose of user-defined messages and how they are
added to an application.
Define a system-registered message, and explain the
difference between asynchronous messaging and synchronous messaging. top
Chapter 5: Graphics
Topics:
Writing output to a device
CDC class
Displaying text to the view
GDI objects
Graphic output functions
Transformations
Special visual effects top
Lab:
Creating a simple graph
Skills:
Students will be able to:
Explain the general purpose of a device context and the
associated Microsoft Foundation Classes.
Describe painting issues.
Display text to the view window. top
List and describe standard GDI objects.
Use stock objects effectively in a program.
Draw simple graphics objects.
Describe and use mapping modes to perform transformations
between logical and physical drawing space. top
Describe Raster Operation (ROP) codes and give examples of
their use.
Chapter 6: Menus,
Toolbars, and Status Bars
Topics:
Building menus
Adding an accelerator key to a menu
Updating the appearance of menus
Creating shortcut menus
Adding toolbars
Implementing status bars
Advanced techniques top
Labs:
Static drop-down menus
Changing menu text
Enabling menu items
Adding a progress control to the status bar
Creating a shortcut menu
Adding a graphic to a status bar top
Skills:
Students will be able to:
Add menus, accelerators, status bar menu prompts, and toolbar
buttons to an application.
Explain the differences between a window message and a
command message.
Explain the routing of a command message.
Dynamically change the state of a menu item. top
Describe Ownerdraw menus.
Incorporate a context or shortcut menu into an application.
Add additional panes and graphics to a status bar. top
Chapter 7: Creating and Using Dialog Boxes
Topics:
Designing and creating dialog boxes
Initializing list and combo boxes
Working with modeless dialog boxes
Advanced dialog box handling top
Labs:
Adding and invoking modal dialog boxes
Adding and invoking modeless dialog boxes
Adding property pages and sheets
Skills:
Students will be able to:
Define the various types of dialog boxes.
Use the dialog box editor to create dialog box templates. top
Use ClassWizard to create dialog box classes.
Write code to manage dialog data exchange (DDX) and dialog
data validation (DDV).
Use advanced techniques for placing data in controls of
dialog boxes.
Invoke and display modal and modeless dialog boxes. top
Customize common dialog boxes.
Create tabbed dialog boxes and property sheets.
Chapter 8: Views
Topics:
Working with views
Creating an application with interrelated views
Labs:
Splitter windows
Adding a rich edit view to an application
Skills: top
Students will be able to:
Describe the purpose of documents, views, templates, and
frames within the document/view architecture, and explain how they interact.
Describe the various types of view classes in MFC.
Implement applications that use CScrollView, CListView,
CSplitterWnd, CTreeView, CEditView, and CRichEditView.
Use two interrelated views in an application. top
Chapter 9: Persistence
Topics:
Registry
Serialization
Universal naming convention (UNC) and long filename support top
Lab:
Adding serialization with version handling to an application
Skills:
Students will be able to:
Explain the purpose of the registry.
View and modify the registry.
Programmatically update the registry.
Define serialization and describe support provided for it in
MFC. top
Describe how MFC supports persistent storage.
Create serializable objects.
Handle version issues related to serializable objects.
Describe guidelines for UNC and long filenames. top
Chapter 10: User-Defined Classes
and the Document/View Architecture
Topics:
Data in document/view architecture
Data support in MFC
C++ class templates
MFC collection classes
Serializing a collection top
Skills:
Students will be able to:
Integrate application-specific (solution domain) classes into
document/view architecture.
Describe the advantages of deriving a class from CObject.
Describe and use templated and nontemplated collection
classes (lists, maps, and arrays).
Create type-safe collections of objects.
Serialize collections of type CArray, CList, or CMap. top
Chapter 11:
Dynamic-Link Libraries
Topics:
Dynamic-Link Libraries (DLLs) that use MFC
DLLs using the static version of MFC
DLLs using the shared version of MFC
Extension DLLs
Run-time linking of regular DLLs
Lab:
Creating a DLL from existing classes
Skills: top
Students will be able to:
Describe DLLs and list the advantages of their use.
List the three types of C++ DLLs that link with MFC, and
describe their characteristics, advantages, and disadvantages.
Build and use each of the three types of DLLs that link
with MFC: top
A regular DLL that statically links to MFC.
A regular DLL that links to the shared version of MFC.
An extension DLL.
Define run-time linking and describe the advantages of its
use.
Build an application that uses run-time linking with a
regular DLL. top
Chapter 12: Implementing Database Support
Using ODBC and DAO
Topics:
The recordset
Introduction to database access with MFC
Open Database Connectivity (ODBC)
Data Access Objects (DAO) top
Implementing data access with MFC
Customizing a query
Using QueryDefs
Parameterizing a query
Finding records within a recordset
Advanced data access with MFC
Labs: top
Building a database viewer with DAO
Building a database editor with DAO
Building a two-tier database browser with DAO
Skills:
Students will be able to:
Explain the differences between ODBC and DAO. top
Describe the role of ODBC in applications that interact with
databases.
Identify and describe the most important issues that a simple
ODBC-compliant application must address.
Use the ODBC Database Manager and understand its use of the
registry.
Develop a forms-based database browser. top
Use the basic features of the MFC database classes.
Implement an ODBC connection to a local database.
Describe and use the basic features of the DAO database
classes.
Use DAO to interact with a Microsoft Accessbased
database. top
Chapter 13: Adding Context-Sensitive Help
Topics:
Help file architecture
WinHelp function
Using AppWizard to add Help
f1 Help
Context-sensitive Help mode
Adding context-sensitive Help to an existing MFC
application top
Skills:
Students will be able to:
Describe the functionality available through WinHelp.
Explain the MFC messaging associated with f1 and shift+f1.
Explain the structure of a Windows-based Help file. top
Use MFC tools to create an application that implements
context-sensitive Help.
Chapter 14: Printing
and Print Preview
Topics:
Adding printer support to an MFC application
Printing process
Retrieving and setting printing information
Managing the printing process
Document versus printer pages top
Lab:
Adding Print and Print Preview to Textview
Skills:
Students will be able to:
Describe default printing capabilities provided by MFC in an
AppWizard-generated application.
Describe document-oriented versus page-oriented output, and
customize screen-directed and printer-directed output. top
Explain how to get printer-specific information at run time
and incorporate it into an application.
Chapter 15: Implementing and Using OLE Controls
Topics:
Creating an OLE control with ControlWizard
Implementing an OLE control container
OLE control properties
OLE control methods top
OLE control events
Communicating errors in OLE controls
Implementing OLE control property pages
Implementing per-property browsing
Data binding in an OLE control top
Lab:
Building an OLE control from an existing class
Skills:
Students will be able to:
Describe the advantages of OLE control technology.
Explain the elements of an OLE control.
Explain the purpose of the ODL file. top
Explain the features of ControlWizard in creating an OLE
control.
Describe the primary tasks of an OLE control container.
Explain the interaction between an OLE control container and
an OLE control.
Use AppWizard to create an OLE control container and use the
Component Gallery to incorporate an OLE control into the application. top
Use ControlWizard to create skeletal code for your OLE
control.
Use ClassWizard to add both stock and custom properties, and
methods to an OLE control.
Use ClassWizard to define stock and custom events that the
OLE control will use to communicate with its container.
Particulars: top
Cost: £1650 (
€ 2640)
excluding VAT
Platform: Windows NT
Numbers: Maximum of 6 people on each course at F1s training facilities in London,
Bath and Manchester |