ATL Simple Object Wizard
This wizard inserts into the project a minimal COM object. Use this page of the wizard to specify the names that identify the C++ class and files for your object and its COM functionality.
Use the Options page of this wizard to specify the object's threading model, its aggregation support, and whether it supports dual interfaces and Automation. You can also indicate support for the error information interface, connection points, Internet Explorer support, and free-threaded marshaling.
Specify the names for the object, interface, and classes to be added to your project. With the exception of Short name, all other boxes can be edited independently of the others. If you change the text for Short name, the change is reflected in the names of all other boxes in this page. If you change the Coclass name in the COM section, the change is reflected in the Type and ProgID boxes, but the Interface name does not change. This naming behavior is designed to make all the names easily identifiable for you as you develop your control.
Coclass is editable on only nonattributed projects. If your project attributed, you cannot edit Coclass.
Provides information for the C++ class created for the object.
- Short name
Sets the abbreviated name for the object. The name you provide determines the Class and Coclass names, the .cpp file and .h file names, the Interface name, the Type names, and the ProgID, unless you change those fields individually.
- .h file
Sets the name of the header file for the new object's class. By default, this name is based on the name you provide in Short name. Click the ellipsis button to save the file name to the location of your choice, or to append the class declaration to an existing file. If you choose an existing file, the wizard will not save it to the selected location until you click Finish in the wizard.
The wizard does not overwrite a file. If you select the name of an existing file, when you click Finish, the wizard prompts you to indicate whether the class declaration should be appended to the contents of the file. Click Yes to append the file; click No to return to the wizard and specify another file name.
Sets the name of the class to be created. This name is based on the name you provide in Short name, preceded by 'C', the typical prefix for a class name.
- .cpp file
Sets the name of the implementation file for the new object's class. By default, this name is based on the name you provide in Short name. Click the ellipsis button to save the file name to the location of your choice. The file is not saved to the selected location until you click Finish in the wizard.
The wizard does not overwrite a file. If you select the name of an existing file, when you click Finish, the wizard prompts you to indicate whether the class implementation should be appended to the contents of the file. Click Yes to append the file; click No to return to the wizard and specify another file name.
Indicates whether the object uses attributes. If you are adding an object to an attributed ATL project, this option is selected and not available to change. That is, you can add only attributed objects to a project created with attribute support.
You can add an attributed object only to an ATL project that uses attributes. If you select this option for an ATL project that does not have attribute support, the wizard prompts you to specify whether you want to add attribute support to the project.
Any objects you add following setting this option are designated as attributed by default (the check box is selected). You can clear this box to add an object that does not use attributes.
Provides information about the COM functionality for the object.
Sets the name of the component class that contains a list of interfaces supported by the object.
If you create your project using attributes, or if you indicate on this wizard page that the object uses attributes, you cannot change this option because ATL does not include the coclass attribute.
Sets the object description that will appear in the registry
Sets the interface you create for your object. This interface contains your custom methods.
Sets the name that containers can use instead of the CLSID of the object.