다음을 통해 공유


IImageList::ImageListSetIcon 메서드(mmc.h)

IImageList::ImageListSetIcon 메서드를 사용하면 사용자가 이미지 목록에 아이콘을 설정하거나 아이콘이 없는 경우 아이콘을 만들 수 있습니다.

구문

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

매개 변수

[in] pIcon

설정할 아이콘에 대한 Win32 HICON 핸들을 지정하는 값입니다. 형식은 LONG_PTR 대한 포인터로 캐스팅되어야 합니다. 스냅인은 이 리소스를 소유하며 완료되면 해제해야 합니다. 스냅인에서 아이콘을 해제하지 않으면 리소스 메모리 누수 현상이 발생합니다.

[in] nLoc

항목에 할당된 인덱스를 지정하는 값입니다. 실제 인덱스 내부적으로 매핑되는 가상 인덱스입니다.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

설명

nLoc에 지정된 인덱스가 이전에 사용된 경우 ImageListSetIconnLoc에 저장된 아이콘을 대체합니다. 이전에 사용되지 않은 경우 이미지 목록에 새 항목이 추가됩니다. 삽입되는 아이콘에는 32x32 및 16x16 픽셀 크기가 모두 정의되어 있어야 합니다.

이미지 목록에서 작거나 큰 아이콘 선택적으로 변경

MMC 1.2에서는 이미지 목록의 작거나 큰 아이콘만 변경할 수 있도록 두 개의 새 매크로가 도입되었습니다. ILSI_LARGE_ICON 및 ILSI_SMALL_ICON 두 매크로는 ImageListSetIconnLoc 매개 변수에 적용됩니다.

ILSI_LARGE_ICON 매크로는 nLoc의 큰 아이콘만 변경하는 데 사용됩니다. ILSI_SMALL_ICON 매크로는 nLoc의 작은 아이콘만 변경하는 데 사용됩니다.

서로 다른 크고 작은 아이콘을 설정하려면 두 매크로 중 하나를 사용할 수 있습니다. 다음 코드 예제에서는 이러한 매크로를 보여 줍니다.

코드 조각 1

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

코드 조각 2

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

ILSI_LARGE_ICON 또는 ILSI_SMALL_ICON 사용하기 전에 스냅인은 먼저 nLoc에 이미지를 삽입해야 합니다. ILSI_LARGE_ICON 또는 ILSI_SMALL_ICON 매크로가 사용되고 nLoc이 기존 이미지를 참조하지 않으면 ImageListSetIcon 메서드가 실패합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 mmc.h
DLL Mmcndmgr.dll

참고 항목

IImageList