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
+55-55Lines changed: 55 additions & 55 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,88 +14,88 @@ ms.workload: ["cplusplus"]
14
14
# Active Template Library (ATL) Concepts
15
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
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).
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).
Leads you through the creation of a control and demonstrates some ATL fundamentals in the process.
22
22
23
-
[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.
23
+
[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
25
26
-
[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.
26
+
[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
28
29
-
[Dual Interfaces and ATL](../atl/dual-interfaces-and-atl.md)
30
-
Describes dual interfaces from an ATL perspective.
29
+
[Dual Interfaces and ATL](../atl/dual-interfaces-and-atl.md)
30
+
Describes dual interfaces from an ATL perspective.
31
31
32
-
[ATL Collections and Enumerators](../atl/atl-collections-and-enumerators.md)
33
-
Describes the implementation and creation of collections and enumerators in ATL.
32
+
[ATL Collections and Enumerators](../atl/atl-collections-and-enumerators.md)
33
+
Describes the implementation and creation of collections and enumerators in ATL.
34
34
35
-
[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.
35
+
[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
37
38
-
[ATL Control Containment FAQ](../atl/atl-control-containment-faq.md)
39
-
Covers the fundamental questions related to hosting controls with ATL.
38
+
[ATL Control Containment FAQ](../atl/atl-control-containment-faq.md)
39
+
Covers the fundamental questions related to hosting controls with ATL.
40
40
41
-
[ATL COM Property Pages](../atl/atl-com-property-pages.md)
42
-
Shows you how to specify and implement COM property pages.
41
+
[ATL COM Property Pages](../atl/atl-com-property-pages.md)
42
+
Shows you how to specify and implement COM property pages.
43
43
44
-
[ATL Support for DHTML Controls](../atl/atl-support-for-dhtml-controls.md)
45
-
Provides step-by-step instructions for creating a DHTML control.
44
+
[ATL Support for DHTML Controls](../atl/atl-support-for-dhtml-controls.md)
45
+
Provides step-by-step instructions for creating a DHTML control.
Explains what connection points are and how ATL implements them.
49
49
50
-
[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.
50
+
[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
52
53
-
[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).
53
+
[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
55
56
-
[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.
56
+
[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.
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.
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
85
86
86
## Related Sections
87
-
[ATL Samples](../visual-cpp-samples.md)
88
-
Provides descriptions of and links to the ATL sample programs.
87
+
[ATL Samples](../visual-cpp-samples.md)
88
+
Provides descriptions of and links to the ATL sample programs.
89
89
90
-
[Creating an ATL Project](../atl/reference/creating-an-atl-project.md)
91
-
Contains information on the ATL Project Wizard.
90
+
[Creating an ATL Project](../atl/reference/creating-an-atl-project.md)
91
+
Contains information on the ATL Project Wizard.
92
92
93
-
[ATL Control Wizard](../atl/reference/atl-control-wizard.md)
94
-
Discusses how to add classes.
93
+
[ATL Control Wizard](../atl/reference/atl-control-wizard.md)
Copy file name to clipboardExpand all lines: docs/atl/active-template-library-atl-tutorial.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,9 +14,9 @@ ms.workload: ["cplusplus"]
14
14
# Active Template Library (ATL) Tutorial
15
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
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.
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
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.
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
20
21
21
-[Step 1: Creating the Project](../atl/creating-the-project-atl-tutorial-part-1.md)
22
22
@@ -33,5 +33,5 @@ ATL is designed to simplify the process of creating efficient, flexible, lightwe
33
33
-[Step 7: Putting Your Control on a Web Page](../atl/putting-the-control-on-a-web-page-atl-tutorial-part-7.md)
@@ -43,6 +43,6 @@ In general, handling COM events is a relatively simple process. There are three
43
43
|[CAxDialogImpl::AdviseSinkMap(TRUE)](../atl/reference/caxdialogimpl-class.md#advisesinkmap)|[CAxDialogImpl::AdviseSinkMap(FALSE)](../atl/reference/caxdialogimpl-class.md#advisesinkmap)|ActiveX controls in a dialog box|No|`CAxDialogImpl::AdviseSinkMap` advises and unadvises all ActiveX controls in the dialog resource. This is done automatically for you.|
Copy file name to clipboardExpand all lines: docs/atl/commandhandler.md
+17-19Lines changed: 17 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,42 +13,40 @@ ms.author: "mblome"
13
13
ms.workload: ["cplusplus"]
14
14
---
15
15
# CommandHandler
16
-
`CommandHandler` is the function identified by the third parameter of the COMMAND_HANDLER macro in your message map.
17
-
16
+
17
+
`CommandHandler` is the function identified by the third parameter of the COMMAND_HANDLER macro in your message map.
18
+
18
19
## Syntax
19
20
20
21
```
21
-
22
-
LRESULT
23
-
CommandHandler
24
-
(
22
+
LRESULT CommandHandler(
25
23
WORD wNotifyCode,
26
24
WORD wID,
27
25
HWND hWndCtl,
28
26
BOOL& bHandled);
29
27
```
30
28
31
29
#### Parameters
32
-
*wNotifyCode*
33
-
The notification code.
30
+
*wNotifyCode*
31
+
The notification code.
34
32
35
-
*wID*
36
-
The identifier of the menu item, control, or accelerator.
33
+
*wID*
34
+
The identifier of the menu item, control, or accelerator.
37
35
38
-
*hWndCtl*
39
-
A handle to a window control.
36
+
*hWndCtl*
37
+
A handle to a window control.
40
38
41
-
*bHandled*
42
-
The message map sets *bHandled* to TRUE before `CommandHandler` is called. If `CommandHandler` does not fully handle the message, it should set *bHandled* to FALSE to indicate the message needs further processing.
39
+
*bHandled*
40
+
The message map sets *bHandled* to TRUE before `CommandHandler` is called. If `CommandHandler` does not fully handle the message, it should set *bHandled* to FALSE to indicate the message needs further processing.
43
41
44
42
## Return Value
45
-
The result of message processing. 0 if successful.
43
+
The result of message processing. 0 if successful.
46
44
47
45
## Remarks
48
-
For an example of using this message handler in a message map, see [COMMAND_HANDLER](reference/message-map-macros-atl.md#command_handler).
46
+
For an example of using this message handler in a message map, see [COMMAND_HANDLER](reference/message-map-macros-atl.md#command_handler).
49
47
50
48
## See Also
51
-
[Implementing a Window](../atl/implementing-a-window.md)
0 commit comments