Interfaz IShellIconOverlay (shlobj_core.h)
Expone métodos usados por una extensión de espacio de nombres para especificar superposiciones de icono para los objetos que contiene.
Herencia
La interfaz IShellIconOverlay hereda de la interfaz IUnknown . IShellIconOverlay también tiene estos tipos de miembros:
Métodos
La interfaz IShellIconOverlay tiene estos métodos.
IShellIconOverlay::GetOverlayIconIndex Obtiene el índice de la superposición de icono en la lista de imágenes del sistema. |
IShellIconOverlay::GetOverlayIndex Obtiene el índice de superposición en la lista de imágenes del sistema. |
Comentarios
Las superposiciones de icono son imágenes pequeñas colocadas en la esquina inferior izquierda del icono que representa un objeto Shell. Normalmente se usan para agregar información adicional al icono. Una superposición de iconos usada habitualmente es la flecha pequeña que indica que un icono de archivo o carpeta representa un acceso directo.
Las superposiciones de icono forman parte de la lista de imágenes del sistema. Tienen dos identificadores. Uno es un índice de superposición basado en uno que identifica la superposición en relación con otras superposiciones de la lista de imágenes. El otro es un índice de imagen que identifica la imagen real. Estos dos índices son equivalentes a los valores que se asignan a los parámetros iOverlay e iImage , respectivamente, al agregar una superposición de iconos a una lista de imágenes privadas con ImageList::SetOverlayImage.
Antes de mostrar el icono de un objeto, shell llama a la interfaz IShellIconOverlay de la carpeta asociada para consultar si el icono del objeto debe tener una superposición. Normalmente, llama a IShellIconOverlay::GetOverlayIndex para solicitar el índice de superposición de la superposición. En algunos casos, el shell podría llamar a IShellIconOverlay::GetOverlayIconIndex para solicitar el índice de imagen de la superposición. Para especificar una superposición de iconos, los métodos deben devolver el índice solicitado. De lo contrario, devuelven S_FALSE.
Para especificar una superposición de iconos, ambos métodos deben recuperar primero el índice de superposición de la lista de imágenes del sistema llamando a SHGetIconOverlayIndex. Cuando se llama a SHGetIconOverlayIndex por primera vez, el Shell usa el nombre de archivo y el índice de la superposición dentro del archivo para agregar la imagen a la lista de imágenes del sistema. Una vez que una superposición está en la lista de imágenes del sistema, shell simplemente usa el nombre de archivo y el índice como identificador. También puede usar SHGetIconOverlayIndex para recuperar el índice de superposición de varias superposiciones del sistema estándar. IShellIconOverlay::GetOverlayIndex simplemente devuelve el índice de superposición al shell. IShellIconOverlay::GetOverlayIconIndex debe usar la macro INDEXTOOVERLAYMASK para convertir el índice de superposición en el índice de imagen equivalente.
El número de diferentes controladores de superposición de iconos que el sistema puede admitir está limitado por la cantidad de espacio disponible para las superposiciones de iconos en la lista de imágenes del sistema. Actualmente hay quince ranuras asignadas para superposiciones de iconos, algunas de las cuales están reservadas por el sistema. Por este motivo, las superposiciones de iconos solo se deben especificar si no hay alternativas satisfactorias.
Esta interfaz se implementa mediante extensiones de espacio de nombres que necesitan especificar superposiciones de icono para sus objetos.
Normalmente, esta interfaz no la usan las aplicaciones.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shlobj_core.h |