Step 1: Creating the Project

First you will create the initial ATL project using the ATL COM AppWizard.

  1. In the Visual C++ environment, click New on the File menu, then choose the Projects tab.

  2. Select the ATL COM AppWizard.

  3. Type Polygon as the project name.

Your dialog box should look like this:

Click OK and the ATL COM AppWizard presents a dialog box offering several choices to configure the initial ATL project.

Because you are creating a control leave the Server Type as a DLL, since a control must be an in-process server. All the default options are fine, so click Finish. A dialog box appears that lists the main files that will be created. These files are listed below, along with a description of each file that the ATL COM AppWizard generates.

File Description
Polygon.cpp Contains the implementation of DllMain, DllCanUnloadNow, DllGetClassObject, DllRegisterServer and DllUnregisterServer. Also contains the object map, which is a list of the ATL objects in your project. This is initially blank, since you haven't created an object yet.
Polygon.def The standard Windows module definition file for the DLL.
Polygon.dsw The project workspace.
Polygon.dsp The file that contains the project settings.
Polygon.idl The interface definition language file, which describes the interfaces specific to your objects.
Polygon.rc The resource file, which initially contains the version information and a string containing the project name.
Resource.h The header file for the resource file.
Polygonps.mk The make file that can be used to build a proxy/stub DLL. You will not need to use this.
Polygonps.def The module definition file for the proxy/stub DLL.
StdAfx.cpp The file that will #include the ATL implementation files.
StdAfx.h The file that will #include the ATL header files.

To make the Polygon DLL useful, you need to add a control, using the ATL Object Wizard.

On to Step 2