Compartir a través de


Iconos de clase

El icono usado para representar un objeto de clase se puede especificar en el atributo iconPath del contenedor DisplaySpecifiers. Además, cada clase puede almacenar varios estados de icono. Por ejemplo, una clase de carpeta puede tener iconos para los estados abiertos, cerrados y deshabilitados. La implementación actual acepta un máximo de dieciséis estados de icono diferentes por clase.

El atributo iconPath se puede especificar de dos maneras.

<state>,<icon file name>

or

<state>,<module file name>,<resource ID>

En estos ejemplos, el "<estado>" es un entero con un valor entre 0 y 15. El valor 0 se define como el estado predeterminado o cerrado del icono. El valor 1 se define para que sea el estado abierto del icono. El valor 2 es el estado deshabilitado. Todos los demás valores están definidos por la aplicación.

El "<nombre> de archivo de icono" es la ruta de acceso y el nombre de archivo de un archivo de icono que contiene la imagen del icono.

El "<nombre> de archivo del módulo" es la ruta de acceso y el nombre de archivo de un módulo, como un ARCHIVO EXE o DLL, que contiene la imagen de icono en un recurso. El "<identificador> de recurso" es un entero que especifica el identificador de recurso del recurso de icono dentro del módulo.

Agregar un valor al atributo iconPath

Para agregar un valor al atributo iconPath , realice los pasos siguientes.

  1. Determine si el valor del atributo existe. Si se va a reemplazar un valor, primero elimine el valor existente mediante el método IADs::P utEx con el parámetro lnControlCode establecido en ADS_PROPERTY_DELETE y el parámetro vProp establecido en el valor que se va a quitar. No use ADS_PROPERTY_CLEAR ni ADS_PROPERTY_UPDATE para lnControlCode.
  2. Cree la cadena que representa los datos del icono de atributo. Para obtener un ejemplo, consulte el formato anterior.
  3. Para agregar el nuevo valor, use el método IADs::P utEx con el parámetro lnControlCode establecido en ADS_PROPERTY_APPEND.
  4. Para confirmar los cambios en el directorio, llame a IADs::SetInfo.