by Grimes, Richard
With its support for fast and efficient COM components, the Active Template Library (ATL) 3 is probably the preferred method of writing code with today's Visual C++. There is perhaps no better choice for getting started with ATL than Beginning ATL 3 COM Programming, a guide that covers all the basics for anyone with some C++ experience who is new to this powerful library.
This title strikes a valuable balance between exploring the ATL wizards in Visual C++ 6 and explaining (and tweaking) this tool-generated code. Early sections look at the basics of COM, from basic interfaces and conventions. At first, code is written manually without ATL. The book then turns to the Visual C++ wizards for writing COM components. A notable section here covers the many "maps" that are used by ATL to show off where to customize events and other custom features. The authors also do a good job with the basics of dual interfaces (for OLE Automation) and remote COM (DCOM).
ATL 3 can be used to manage windows and dialog controls, and the book points the way to working with basic and advanced dialog components (including common controls). This text culminates in a tutorial on ATL controls (which can be used on the Web inside Internet Explorer). The authors provide a step-by-step guide to creating a fully functional ATL component (which displays URLs inside a TreeView).
The new ATL 3 offers a lot to developers, and Beginning ATL 3 COM Programming shows you how to take advantage of its built-in strengths. ATL is still tough terrain to master, but this title matches the right level of technical detail with tutorial code that really does put this powerful library into the hands of every C++ developer. Read it to start mastering the premier framework for Visual C++. --Richard Dragan
Topics covered: COM basics, the IUnknown interface, MIDL and type libraries, in-process and out-of-process COM servers, ATL COM wizards, ATL architecture and maps, containment and aggregation, IDispatch and OLE Automation, dual interfaces, scripting with Visual C++, Visual Basic and Visual J++, DCOM basics, marshaling, threading and apartments, ATL window classes, ATL classes for dialog controls, connection points and events, control properties, persistence and property bags, tutorial for full ActiveX controls, property pages, stock and ambient properties.