The Active Template Library (ATL) is a set of template-based C++ classes that let you create small, fast Component Object Model (COM) objects. It has special support for key COM features, including stock implementations, dual interfaces, standard COM enumerator interfaces, connection points, tear-off interfaces, and ActiveX controls.
If you do a lot of ATL programming, you will want to learn more about COM and .NET attributes, which is designed to simplify COM programming. For more information, see Attributed Programming. (COM and .NET attributes are not to be confused with the [[attribute]] feature in the C++ standard.)
In This Section
Introduction to COM and ATL
Introduces the major concepts behind the Component Object Model (COM). This article also briefly explains what ATL is and when you should use it.
Composite Control Fundamentals
Provides step-by-step instructions for creating a composite control. A composite control is a type of ActiveX control that can contain other ActiveX controls or Windows controls.
ATL and the Free Threaded Marshaler
Provides details on the ATL Simple Object Wizard's option that allows your class to aggregate the free threaded marshaler (FTM).
ATL Module Classes
Discusses the module classes new for ATL 7.0. Module classes implement the basic functionality required by ATL.
ATL Services
Covers the series of events that occur when a service is implemented. Also talks about some of the concepts related to developing a service.
ATL Window Classes
Describes how to create, superclass, and subclass windows in ATL. The ATL window classes are not COM classes.
The ATL Registry Component (Registrar)
Discusses ATL scripting syntax and replaceable parameters. It also explains how to set up a static link to the Registrar.
Programming with CComBSTR
Discusses several situations that require caution when programming with CComBSTR.
Encoding Reference
Provides functions and macros that support encoding in a range of common Internet standards such as uuencode, hexadecimal, and UTF8 in atlenc.h.
Utilities Reference
Provides code for manipulating paths and URLs in the form of CPathT and CUrl. A thread pool, CThreadPool, can be used in your own applications. This code can be found in atlpath.h and atlutil.h.
Related Sections
ATL Tutorial
Leads you through the creation of a control and demonstrates some ATL fundamentals in the process.
ATL Samples
Provides descriptions of and links to the ATL sample programs.
Microsoft Graph Toolkit components are flexible for customization. You can change the presentation of Microsoft Graph Toolkit components by using templates and learn troubleshooting techniques for rendering.