The Add IDL Property wizard adds a property to an interface defined in an Interface Definition Library (IDL), such as in an ATL project that contains an .idl file. This wizard isn't available in projects that support MFC.
The Add Property wizard adds a property to an interface in your project.
The Add IDL MFC Property wizard is specific to MFC, ActiveX, or ATL projects that support MFC.
To add an IDL property
On the View menu, select Class View.
In Class View, right-click the name of the interface to which you want to add the property.
Note
You can also add properties to dispinterfaces, which, unless the project is attributed, are nested within the library node.
Right-click the name of the interface.
From the shortcut menu, select Add > Add Property.
In the Add IDL Property wizard, provide the information to create the property.
Select OK to add the property.
The Get and Put methods of the property are displayed as two icons in Class View under the interface where it's defined. Double-click either icon to view the property declaration in the .idl file.
For ATL interfaces, the Get and Put functions are added to the .cpp and .h files.
Add an IDL property wizard
The following section describes the UI that you'll use to add an IDL property:
Property name
Sets the name of the property.
Property type
The data type of the property.
Return type
For ATL interfaces, sets the return type for the property.
For dual interfaces, HRESULT is always the return type, and select option is unavailable.
For custom interfaces, you can select a return type from the list. HRESULT is still recommended, as it provides a standard way to return errors.
Get function
For ATL interfaces, creates the Get method for retrieving the property value. Select Get, Put, or both.
Put function
For ATL interfaces, creates the Put method for setting the property value. Select Get, Put, or both. If you select Put function, you can choose from the following two ways to implement the method:
Option
Description
propput
The PropPut function returns a copy of the object. propput is the default and the most common way to make the property writable.
propputref
The PropPutRef function returns a reference to the object, rather than returning the copy of the object itself. Consider using propputref option for objects, such as large structs or arrays, that may have initialization overhead.
Parameters
Displays the list of parameters added to the property. Each item in the list consists of the parameter name, parameter type, and attributes.
in indicates that the parameter is passed from the calling procedure to the called procedure.
out indicates that the pointer parameter is returned from the called procedure to the calling procedure (from the server to the client).
+
Add a parameter. In Parameters, type the parameter type and name. For example, int x, and select OK.
x
Removes the selected parameter from Parameters.
Pencil icon
Edit the selected parameter.
Attributes
helpcontext
Specifies a context ID that lets the user view information about this property in the Help file. For more information, see helpcontext.
helpstring
Specifies a character string that's used to describe the element to which it applies. By default, it's set to propertyProperty name. For more information, see helpstring.
id
Sets the numerical identifier that identifies the property. This option isn't available for properties of custom interfaces. For more information, see id.
Additional attributes
Keywords in the Microsoft Interface Definition Language (MIDL) are described in detail in the MIDL language reference.
Option
Description
bindable
Indicates that the property supports data binding. For more information, see bindable.
defaultbind
Indicates that this single, bindable property best represents the object. For more information, see defaultbind.
defaultcollelem
Indicates that the property is an accessor function for an element of the default collection. For more information, see defaultcollelem.
displaybind
Indicates that this property should be displayed to the user as bindable. For more information, see displaybind.
hidden
Indicates that the property exists but shouldn't be displayed in a user-oriented browser. For more information, see hidden.
immediatebind
Indicates that the database will be notified immediately of all changes to this property of a data-bound object. For more information, see immediatebind.
local
Specifies to the MIDL compiler that the property isn't remote. For more information, see local.
nonbrowsable
Tags an interface or dispinterface member that shouldn't be displayed in a properties browser. For more information, see nonbrowsable.
requestedit
Indicates that the property supports the OnRequestEdit notification. For more information, see requestedit.
restricted
Specifies that the property can't be called arbitrarily. For more information, see restricted.
source
Indicates that a member of the property is a source of events. For more information, see source.
Learn how to implement read-write, read-only, and write-only class properties using property accessors and access modifiers, and how to implement methods and extension methods for a class.
Retrieves a pointer to the first character in a path following the drive letter or Universal Naming Convention (UNC) server/share path elements. (ANSI)