Partilhar via


Método IImageList::ImageListSetIcon (mmc.h)

O método IImageList::ImageListSetIcon permite que um usuário defina um ícone na lista de imagens ou crie um ícone se ele não estiver lá.

Sintaxe

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

Parâmetros

[in] pIcon

Um valor que especifica o identificador HICON do Win32 para o ícone a ser definido. O tipo deve ser convertido como um ponteiro para um LONG_PTR. O snap-in é proprietário desse recurso e deve liberá-lo quando terminar. Uma perda de memória de recurso ocorrerá se o snap-in não liberar o Ícone.

[in] nLoc

Um valor que especifica o índice atribuído à entrada. Esse é um índice virtual que é mapeado internamente para o índice real.

Valor retornado

Esse método pode retornar um desses valores.

Comentários

Se o índice especificado por nLoc tiver sido usado antes, ImageListSetIcon substituirá o ícone armazenado em nLoc. Se ele não tiver sido usado anteriormente, uma nova entrada na lista de imagens será adicionada. O ícone que está sendo inserido deve ter os tamanhos de pixel 32x32 e 16x16 definidos.

Alterar seletivamente o ícone pequeno ou grande em uma lista de imagens

No MMC 1.2, duas novas macros são introduzidas para dar suporte à alteração apenas do ícone pequeno ou grande em uma lista de imagens. As duas macros, ILSI_LARGE_ICON e ILSI_SMALL_ICON, são aplicadas ao parâmetro nLoc de ImageListSetIcon.

A macro ILSI_LARGE_ICON é usada para alterar apenas o ícone grande em nLoc. A macro ILSI_SMALL_ICON é usada para alterar apenas o ícone pequeno em nLoc.

Para definir diferentes ícones grandes e pequenos, você pode usar uma das duas macros. Os exemplos de código a seguir mostram essas macros.

Snippet de código 1

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

Snippet de código 2

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

Antes de usar ILSI_LARGE_ICON ou ILSI_SMALL_ICON, o snap-in deve primeiro inserir uma imagem em nLoc. O método ImageListSetIcon falhará se a macro ILSI_LARGE_ICON ou ILSI_SMALL_ICON for usada e nLoc não se referir a uma imagem existente.

Requisitos

   
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho mmc.h
DLL Mmcndmgr.dll

Confira também

IImageList