IImageList::ImageListSetIcon 메서드(mmc.h)
IImageList::ImageListSetIcon 메서드를 사용하면 사용자가 이미지 목록에 아이콘을 설정하거나 아이콘이 없는 경우 아이콘을 만들 수 있습니다.
구문
HRESULT ImageListSetIcon(
[in] LONG_PTR *pIcon,
[in] long nLoc
);
매개 변수
[in] pIcon
설정할 아이콘에 대한 Win32 HICON 핸들을 지정하는 값입니다. 형식은 LONG_PTR 대한 포인터로 캐스팅되어야 합니다. 스냅인은 이 리소스를 소유하며 완료되면 해제해야 합니다. 스냅인에서 아이콘을 해제하지 않으면 리소스 메모리 누수 현상이 발생합니다.
[in] nLoc
항목에 할당된 인덱스를 지정하는 값입니다. 실제 인덱스 내부적으로 매핑되는 가상 인덱스입니다.
반환 값
이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.
설명
nLoc에 지정된 인덱스가 이전에 사용된 경우 ImageListSetIcon은 nLoc에 저장된 아이콘을 대체합니다. 이전에 사용되지 않은 경우 이미지 목록에 새 항목이 추가됩니다. 삽입되는 아이콘에는 32x32 및 16x16 픽셀 크기가 모두 정의되어 있어야 합니다.
이미지 목록에서 작거나 큰 아이콘 선택적으로 변경
MMC 1.2에서는 이미지 목록의 작거나 큰 아이콘만 변경할 수 있도록 두 개의 새 매크로가 도입되었습니다. ILSI_LARGE_ICON 및 ILSI_SMALL_ICON 두 매크로는 ImageListSetIcon의 nLoc 매개 변수에 적용됩니다.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 |