Condividi tramite


Metodo IImageList::ImageListSetIcon (mmc.h)

Il metodo IImageList::ImageListSetIcon consente a un utente di impostare un'icona nell'elenco di immagini o di creare un'icona se non è presente.

Sintassi

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

Parametri

[in] pIcon

Valore che specifica l'handle HICON Win32 all'icona da impostare. Il tipo deve essere eseguito il cast come puntatore a un LONG_PTR. Lo snap-in possiede questa risorsa e deve liberarlo al termine. Una perdita di memoria delle risorse si verificherà se lo snap-in non libera Icona.

[in] nLoc

Valore che specifica l'indice assegnato alla voce. Si tratta di un indice virtuale mappato internamente all'indice effettivo.

Valore restituito

Questo metodo può restituire uno di questi valori.

Commenti

Se l'indice specificato da nLoc è stato usato prima, ImageListSetIcon sostituisce l'icona archiviata in nLoc. Se non è stato usato in precedenza, viene aggiunta una nuova voce nell'elenco di immagini. L'icona inserita deve avere sia le dimensioni 32x32 che 16x16 definite.

Modifica selettiva dell'icona piccola o grande in un elenco di immagini

In MMC 1.2 vengono introdotte due nuove macro per supportare la modifica solo dell'icona piccola o grande in un elenco di immagini. Le due macro, ILSI_LARGE_ICON e ILSI_SMALL_ICON, vengono applicate al parametro nLoc di ImageListSetIcon.

La macro ILSI_LARGE_ICON viene usata per modificare solo l'icona di grandi dimensioni in nLoc. La macro ILSI_SMALL_ICON viene usata per modificare solo l'icona piccola in nLoc.

Per impostare icone grandi e piccole diverse, è possibile usare una delle due macro. Gli esempi di codice seguenti mostrano queste macro.

Frammento 1

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

Frammento 2

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

Prima di usare ILSI_LARGE_ICON o ILSI_SMALL_ICON, lo snap-in deve prima inserire un'immagine in nLoc. Il metodo ImageListSetIcon avrà esito negativo se la macro ILSI_LARGE_ICON o ILSI_SMALL_ICON viene usata e nLoc non fa riferimento a un'immagine esistente.

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione mmc.h
DLL Mmcndmgr.dll

Vedi anche

IImageList