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 |