共用方式為


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會套用至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