The second edition of Jeff Prosise's Programming Windows with MFC
is a great introduction to the programming language that will help you build client-side applications in MFC. Though it doesn't cover Internet development, this title provides a worthy tutorial on traditional MFC programming.
After some MFC basics, the book looks at Graphical Device Interface (GDI) graphics with a fine discussion of drawing and font handling. Following this, Prosise introduces the use of the MFC collection classes (an alternative to STL) and file I/O, as well as adding serialization support to custom classes.
He also dedicates a fair amount of text to basic Windows controls and dialog boxes. His tour of support for both the Single Document Interface (SDI) and Multiple Document Interface (MDI) application styles is just excellent. The built-in view classes in MFC and how to use them in a Windows Explorer-style sample program are covered. From there, it's on to other common GUI interface models such as toolbars, status bars, and the new Internet Explorer-style rebars. After a useful section on printing (including some valuable real-world tips for this tricky topic), the rich array of Windows common controls is discussed. As in the first edition, Prosise's introduction to MFC multithreading and synchronization objects (like mutexes) is a standout.
The last section of the book provides a comprehensive discussion of COM and ActiveX programming for the MFC developer. Although the Active Template Library (ATL) is omitted here, there are fine examples of building and using ActiveX controls, including the basics of OLE automation.
Newly revised with richer examples and the latest Windows functionality, the second edition of Programming Windows with MFC provides one of the best available tutorials for traditional MFC development. --Richard Dragan