Partager via


IImageList::ImageListSetIcon, méthode (mmc.h)

La méthode IImageList::ImageListSetIcon permet à un utilisateur de définir une icône dans la liste d’images ou de créer une icône si elle n’y figure pas.

Syntaxe

HRESULT ImageListSetIcon(
  [in] LONG_PTR *pIcon,
  [in] long     nLoc
);

Paramètres

[in] pIcon

Valeur qui spécifie le handle WIN32 HICON à l’icône à définir. Le type doit être casté en tant que pointeur vers un LONG_PTR. Le composant logiciel enfichable possède cette ressource et doit la libérer une fois terminé. Une fuite de mémoire de ressource se produit si le composant logiciel enfichable ne libère pas Icône.

[in] nLoc

Valeur qui spécifie l’index affecté à l’entrée. Il s’agit d’un index virtuel qui est mappé en interne à l’index réel.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Notes

Si l’index spécifié par nLoc a déjà été utilisé, ImageListSetIcon remplace l’icône stockée dans nLoc. S’il n’a pas été utilisé précédemment, une nouvelle entrée dans la liste d’images est ajoutée. L’icône en cours d’insertion doit avoir les tailles 32 x 32 et 16 x 16 pixels définies.

Modification sélective de l’icône petite ou grande dans une liste d’images

Dans MMC 1.2, deux nouvelles macros sont introduites pour prendre en charge la modification uniquement de la petite ou grande icône dans une liste d’images. Les deux macros, ILSI_LARGE_ICON et ILSI_SMALL_ICON, sont appliquées au paramètre nLoc de ImageListSetIcon.

La macro ILSI_LARGE_ICON est utilisée pour modifier uniquement la grande icône sur nLoc. La macro ILSI_SMALL_ICON est utilisée pour modifier uniquement la petite icône sur nLoc.

Pour définir différentes icônes grandes et petites, vous pouvez utiliser l’une des deux macros. Les exemples de code suivants illustrent ces macros.

Extrait de code 1

pImageList->ImageListSetIcon((LONG_PTR*) hLargeIcon, nLoc); // set both
pImageList->ImageListSetIcon((LONG_PTR*) hSmallIcon, ILSI_SMALL_ICON (nLoc)); // change small

Extrait de code 2

pImageList->ImageListSetIcon((LONG_PTR*) hSmallIcon, nLoc); // set both
pImageList->ImageListSetIcon((LONG_PTR*) hLargeIcon, ILSI_LARGE_ICON (nLoc)); // change large

Avant d’utiliser ILSI_LARGE_ICON ou ILSI_SMALL_ICON, le composant logiciel enfichable doit d’abord insérer une image dans nLoc. La méthode ImageListSetIcon échoue si la macro ILSI_LARGE_ICON ou ILSI_SMALL_ICON est utilisée et que nLoc ne fait pas référence à une image existante.

Spécifications

   
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête mmc.h
DLL Mmcndmgr.dll

Voir aussi

IImageList