次の方法で共有


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 では、2 つの新しいマクロが導入され、画像リスト内の小さいアイコンまたは大きいアイコンのみを変更できます。 ILSI_LARGE_ICONとILSI_SMALL_ICONの 2 つのマクロは、ImageListSetIconnLoc パラメーターに適用されます。

ILSI_LARGE_ICON マクロは、nLoc の大きなアイコンのみを変更するために使用されます。 ILSI_SMALL_ICON マクロは、nLoc の小さいアイコンのみを変更するために使用されます。

大小のアイコンを異なるアイコンに設定するには、2 つのマクロのいずれかを使用できます。 次のコード例では、これらのマクロを示します。

スニペット 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