Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The icon used to represent a class object can be specified in the iconPath attribute in the DisplaySpecifiers container. Moreover, each class can store multiple icon states. For example, a folder class can have icons for the open, closed, and disabled states. The current implementation accepts a maximum of sixteen different icon states per class.
The iconPath attribute can be specified in one of two ways.
<state>,<icon file name>
or
<state>,<module file name>,<resource ID>
In these examples, the "<state>" is an integer with a value between 0 and 15. The value 0 is defined to be the default or closed state of the icon. The value 1 is defined to be the open state of the icon. The value 2 is the disabled state. All other values are application-defined.
The "<icon file name>" is the path and file name of an icon file that contains the icon image.
The "<module file name>" is the path and file name of a module, such as an EXE or DLL, that contains the icon image in a resource. The "<resource ID>" is an integer that specifies the resource identifier of the icon resource within the module.
Adding a Value to the iconPath Attribute
To add a value to the iconPath attribute, perform the following steps.
- Determine if the value for the attribute exists. If a value is to be replaced, first, delete the existing value using the IADs::PutEx method with the lnControlCode parameter set to ADS_PROPERTY_DELETE and the vProp parameter set to the value to be removed. Do not use ADS_PROPERTY_CLEAR or ADS_PROPERTY_UPDATE for lnControlCode.
- Create the string that represents the attribute icon data. For an example, see the format above.
- To add the new value, use the IADs::PutEx method with the lnControlCode parameter set to ADS_PROPERTY_APPEND.
- To commit changes to the directory, call IADs::SetInfo.