ATL Composites

In the previous exercise, you used MFC to create an ActiveX control with a user interface. You can also do this using ATL. If you have an older version of ATL (prior to ATL 3.0), refer to the Microsoft Knowledge Base Article Q175503, entitled “HOWTO: Write a Dialog-based ActiveX Control Using ATL.” However, if you have ATL 3.0[92] or greater, you can use the ATL Object Wizard to generate the necessary code for an ActiveX control with user interface elements. Formally, ATL uses the term composite control to refer to this type of ActiveX control.

Even though the ATL Object Wizard supports composite controls, it takes some work to get the composite control to host other ActiveX controls. In this section, you’ll learn how to take advantage of ATL to create a composite control that looks like the web-enabled client developed previously.

Creating the Project

Using the ATL COM AppWizard, create a new project and name it ATLCyberComposite. In Step 1 of the ATL COM AppWizard, select DLL as the Server Type and click Finish to allow the ATL COM AppWizard to generate the code for your project.

Adding a Composite Control

Creating a composite control is similar to creating a Lite Control or a Full ActiveX Control. You simply choose Composite Control, and let the ATL Object Wizard handle the rest. Here are the steps for adding a composite control into an ATL COM AppWizard generated project:

  1. Select New ATL Object from the Insert menu to launch the ATL Object Wizard.

  2. In the ATL Object Wizard ...

Get Learning DCOM now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.