Partager via


Interface IShellIconOverlay (shlobj_core.h)

Expose les méthodes utilisées par une extension d’espace de noms pour spécifier des superpositions d’icônes pour les objets qu’elle contient.

Héritage

L’interface IShellIconOverlay hérite de l’interface IUnknown . IShellIconOverlay a également les types de membres suivants :

Méthodes

L’interface IShellIconOverlay possède ces méthodes.

 
IShellIconOverlay::GetOverlayIconIndex

Obtient l’index de la superposition d’icônes dans la liste d’images système.
IShellIconOverlay::GetOverlayIndex

Obtient l’index de superposition dans la liste d’images système.

Remarques

Les superpositions d’icônes sont de petites images placées dans le coin inférieur gauche de l’icône qui représente un objet Shell. Ils sont généralement utilisés pour ajouter des informations supplémentaires à l’icône. Une superposition d’icônes couramment utilisée est la petite flèche qui indique qu’une icône de fichier ou de dossier représente un raccourci.

Les superpositions d’icônes font partie de la liste d’images système. Ils ont deux identificateurs. L’un est un index de superposition de base unique qui identifie la superposition par rapport à d’autres superpositions dans la liste d’images. L’autre est un index d’image qui identifie l’image réelle. Ces deux index sont équivalents aux valeurs que vous affectez aux paramètres iOverlay et iImage , respectivement, lorsque vous ajoutez une superposition d’icônes à une liste d’images privée avec ImageList::SetOverlayImage.

Avant d’afficher l’icône d’un objet, l’interpréteur de commandes appelle l’interface IShellIconOverlay du dossier associé pour demander si l’icône de l’objet doit comporter une superposition. En général, il appelle IShellIconOverlay::GetOverlayIndex pour demander l’index de superposition de la superposition. Dans certains cas, l’interpréteur de commandes peut appeler IShellIconOverlay::GetOverlayIconIndex pour demander l’index d’image de la superposition. Pour spécifier une superposition d’icônes, les méthodes doivent retourner l’index demandé. Sinon, ils retournent S_FALSE.

Pour spécifier une superposition d’icônes, les deux méthodes doivent d’abord récupérer l’index de superposition de la superposition dans la liste d’images système en appelant SHGetIconOverlayIndex. Lorsque SHGetIconOverlayIndex est appelé pour la première fois, l’interpréteur de commandes utilise le nom de fichier et l’index de la superposition dans le fichier pour ajouter l’image à la liste d’images système. Une fois qu’une superposition figure dans la liste d’images système, l’interpréteur de commandes utilise simplement le nom de fichier et l’index comme identificateur. Vous pouvez également utiliser SHGetIconOverlayIndex pour récupérer l’index de superposition de plusieurs superpositions système standard. IShellIconOverlay::GetOverlayIndex retourne simplement l’index de superposition à l’interpréteur de commandes. IShellIconOverlay::GetOverlayIconIndex doit utiliser la macro INDEXTOOVERLAYMASK pour convertir l’index de superposition en index d’image équivalent.

Le nombre de gestionnaires de superposition d’icônes différents que le système peut prendre en charge est limité par la quantité d’espace disponible pour les superpositions d’icônes dans la liste d’images système. Il existe actuellement quinze emplacements alloués pour les superpositions d’icônes, dont certains sont réservés par le système. Pour cette raison, les superpositions d’icônes ne doivent être spécifiées que s’il n’existe aucune alternative satisfaisante.

Cette interface est implémentée par les extensions d’espace de noms qui doivent spécifier des superpositions d’icônes pour leurs objets.

Cette interface n’est généralement pas utilisée par les applications.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shlobj_core.h