You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/atl/active-template-library-atl-concepts.md
+61-58Lines changed: 61 additions & 58 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,90 +12,93 @@ ms.author: "mblome"
12
12
ms.workload: ["cplusplus"]
13
13
---
14
14
# Active Template Library (ATL) Concepts
15
-
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.
16
-
17
-
If you do a lot of ATL programming, you will want to learn more about attributes, a new feature in Visual C++ .NET that is designed to simplify COM programming. For more information, see [Attributed Programming](../windows/attributed-programming-concepts.md).
18
-
19
-
## In This Section
15
+
16
+
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.
17
+
18
+
If you do a lot of ATL programming, you will want to learn more about attributes, a new feature in Visual C++ .NET that is designed to simplify COM programming. For more information, see [Attributed Programming](../windows/attributed-programming-concepts.md).
Leads you through the creation of a control and demonstrates some ATL fundamentals in the process.
22
-
23
+
Leads you through the creation of a control and demonstrates some ATL fundamentals in the process.
24
+
23
25
[Introduction to COM and ATL](../atl/introduction-to-com-and-atl.md)
24
-
Introduces the major concepts behind the Component Object Model (COM). This article also briefly explains what ATL is and when you should use it.
25
-
26
+
Introduces the major concepts behind the Component Object Model (COM). This article also briefly explains what ATL is and when you should use it.
27
+
26
28
[Fundamentals of ATL COM Objects](../atl/fundamentals-of-atl-com-objects.md)
27
-
Discusses the relationship among various ATL classes and how those classes are implemented.
28
-
29
+
Discusses the relationship among various ATL classes and how those classes are implemented.
30
+
29
31
[Dual Interfaces and ATL](../atl/dual-interfaces-and-atl.md)
30
-
Describes dual interfaces from an ATL perspective.
31
-
32
+
Describes dual interfaces from an ATL perspective.
33
+
32
34
[ATL Collections and Enumerators](../atl/atl-collections-and-enumerators.md)
33
-
Describes the implementation and creation of collections and enumerators in ATL.
34
-
35
+
Describes the implementation and creation of collections and enumerators in ATL.
36
+
35
37
[Composite Control Fundamentals](../atl/atl-composite-control-fundamentals.md)
36
-
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.
37
-
38
+
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.
39
+
38
40
[ATL Control Containment FAQ](../atl/atl-control-containment-faq.md)
39
-
Covers the fundamental questions related to hosting controls with ATL.
40
-
41
+
Covers the fundamental questions related to hosting controls with ATL.
42
+
41
43
[ATL COM Property Pages](../atl/atl-com-property-pages.md)
42
-
Shows you how to specify and implement COM property pages.
43
-
44
+
Shows you how to specify and implement COM property pages.
45
+
44
46
[ATL Support for DHTML Controls](../atl/atl-support-for-dhtml-controls.md)
45
-
Provides step-by-step instructions for creating a DHTML control.
46
-
47
+
Provides step-by-step instructions for creating a DHTML control.
Explains what connection points are and how ATL implements them.
49
-
50
+
Explains what connection points are and how ATL implements them.
51
+
50
52
[Event Handling and ATL](../atl/event-handling-and-atl.md)
51
-
Describes the steps that you need to take to handle COM events using ATL's [IDispEventImpl](../atl/reference/idispeventimpl-class.md) and [IDispEventSimpleImpl](../atl/reference/idispeventsimpleimpl-class.md) classes.
52
-
53
+
Describes the steps that you need to take to handle COM events using ATL's [IDispEventImpl](../atl/reference/idispeventimpl-class.md) and [IDispEventSimpleImpl](../atl/reference/idispeventsimpleimpl-class.md) classes.
54
+
53
55
[ATL and the Free Threaded Marshaler](../atl/atl-and-the-free-threaded-marshaler.md)
54
-
Provides details on the ATL Simple Object Wizard's option that allows your class to aggregate the free threaded marshaler (FTM).
55
-
56
+
Provides details on the ATL Simple Object Wizard's option that allows your class to aggregate the free threaded marshaler (FTM).
57
+
56
58
[Specifying the Project's Threading Model](../atl/specifying-the-threading-model-for-a-project-atl.md)
57
-
Describes the macros that are available to control run-time performance related to threading in your project.
58
-
59
+
Describes the macros that are available to control run-time performance related to threading in your project.
Provides code for manipulating paths and URLs in the form of [CPathT](../atl/reference/cpatht-class.md) and [CUrl](../atl/reference/curl-class.md). A thread pool, [CThreadPool](../atl/reference/cthreadpool-class.md), can be used in your own applications. This code can be found in atlpath.h and atlutil.h.
85
-
86
-
## Related Sections
86
+
Provides code for manipulating paths and URLs in the form of [CPathT](../atl/reference/cpatht-class.md) and [CUrl](../atl/reference/curl-class.md). A thread pool, [CThreadPool](../atl/reference/cthreadpool-class.md), can be used in your own applications. This code can be found in atlpath.h and atlutil.h.
87
+
88
+
## Related Sections
89
+
87
90
[ATL Samples](../visual-cpp-samples.md)
88
-
Provides descriptions of and links to the ATL sample programs.
89
-
91
+
Provides descriptions of and links to the ATL sample programs.
92
+
90
93
[Creating an ATL Project](../atl/reference/creating-an-atl-project.md)
91
-
Contains information on the ATL Project Wizard.
92
-
94
+
Contains information on the ATL Project Wizard.
95
+
93
96
[ATL Control Wizard](../atl/reference/atl-control-wizard.md)
Copy file name to clipboardExpand all lines: docs/atl/active-template-library-atl-tutorial.md
+23-21Lines changed: 23 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,26 +12,28 @@ ms.author: "mblome"
12
12
ms.workload: ["cplusplus"]
13
13
---
14
14
# Active Template Library (ATL) Tutorial
15
-
ATL is designed to simplify the process of creating efficient, flexible, lightweight controls. This tutorial leads you through the creation of an ActiveX control, demonstrating many ATL and COM fundamentals.
16
-
17
-
By following this tutorial, you will learn how to add a control to an ATL project that draws a circle and a filled polygon. You will then add a property to indicate how many sides the polygon will have and create drawing code for updating the control when the property changes. The control will then be displayed on a Web page using some VBScript to make it respond to events.
18
-
19
-
The tutorial is divided into seven steps. You should perform each step in order as later steps depend on previously completed tasks. Before you begin, you should confirm that you have privileges required to register an ActiveX component on your particular computer. This is usually only a concern if you are running Visual Studio .NET over a Terminal Services connection.
20
-
21
-
-[Step 1: Creating the Project](../atl/creating-the-project-atl-tutorial-part-1.md)
22
-
23
-
-[Step 2: Adding a Control to Your Project](../atl/adding-a-control-atl-tutorial-part-2.md)
24
-
25
-
-[Step 3. Adding a Property to Your Control](../atl/adding-a-property-to-the-control-atl-tutorial-part-3.md)
26
-
27
-
-[Step 4: Changing Your Control's Drawing Code](../atl/changing-the-drawing-code-atl-tutorial-part-4.md)
28
-
29
-
-[Step 5: Adding an Event](../atl/adding-an-event-atl-tutorial-part-5.md)
30
-
31
-
-[Step 6: Adding a Property Page](../atl/adding-a-property-page-atl-tutorial-part-6.md)
32
-
33
-
-[Step 7: Putting Your Control on a Web Page](../atl/putting-the-control-on-a-web-page-atl-tutorial-part-7.md)
34
-
35
-
## See Also
15
+
16
+
ATL is designed to simplify the process of creating efficient, flexible, lightweight controls. This tutorial leads you through the creation of an ActiveX control, demonstrating many ATL and COM fundamentals.
17
+
18
+
By following this tutorial, you will learn how to add a control to an ATL project that draws a circle and a filled polygon. You will then add a property to indicate how many sides the polygon will have and create drawing code for updating the control when the property changes. The control will then be displayed on a Web page using some VBScript to make it respond to events.
19
+
20
+
The tutorial is divided into seven steps. You should perform each step in order as later steps depend on previously completed tasks. Before you begin, you should confirm that you have privileges required to register an ActiveX component on your particular computer. This is usually only a concern if you are running Visual Studio .NET over a Terminal Services connection.
21
+
22
+
-[Step 1: Creating the Project](../atl/creating-the-project-atl-tutorial-part-1.md)
23
+
24
+
-[Step 2: Adding a Control to Your Project](../atl/adding-a-control-atl-tutorial-part-2.md)
25
+
26
+
-[Step 3. Adding a Property to Your Control](../atl/adding-a-property-to-the-control-atl-tutorial-part-3.md)
27
+
28
+
-[Step 4: Changing Your Control's Drawing Code](../atl/changing-the-drawing-code-atl-tutorial-part-4.md)
29
+
30
+
-[Step 5: Adding an Event](../atl/adding-an-event-atl-tutorial-part-5.md)
31
+
32
+
-[Step 6: Adding a Property Page](../atl/adding-a-property-page-atl-tutorial-part-6.md)
33
+
34
+
-[Step 7: Putting Your Control on a Web Page](../atl/putting-the-control-on-a-web-page-atl-tutorial-part-7.md)
0 commit comments