CreateIconFromResourceEx 関数 (winuser.h)

アイコンを説明するリソース ビットからアイコンまたはカーソルを作成します。

構文

HICON CreateIconFromResourceEx(
  [in] PBYTE presbits,
  [in] DWORD dwResSize,
  [in] BOOL  fIcon,
  [in] DWORD dwVer,
  [in] int   cxDesired,
  [in] int   cyDesired,
  [in] UINT  Flags
);

パラメーター

[in] presbits

種類: PBYTE

アイコン (RT_ICON) またはカーソル (RT_CURSOR) リソース ビットを含む DWORD アラインバッファー ポインター。 これらのビットは、通常、 LookupIconIdFromDirectoryEx 関数と LoadResource 関数の呼び出しによって 読み込 まれます。

アイコンとカーソルリソースの形式の詳細については、「カーソルとアイコンのリソース」を参照してください。

[in] dwResSize

型: DWORD

pbIconBits パラメーターによって指されるビットのセットのサイズ (バイト単位)。

[in] fIcon

種類: BOOL

アイコンまたはカーソルを作成するかどうかを示します。 このパラメーターが TRUE の場合は、アイコンが作成されます。 FALSE の場合は、カーソルが作成されます。

LOCALHEADER 構造体は、カーソル のホットスポットを定義し、カーソル リソース ビットから読み取られた最初のデータです。

[in] dwVer

型: DWORD

presbits パラメーターが指すリソース ビットのアイコンまたはカーソル形式のバージョン番号。 値は、0x00020000以上で、0x00030000以下である必要があります。 このパラメーターは通常、0x00030000に設定されます。

[in] cxDesired

型: int

アイコンまたはカーソルの幅 (ピクセル単位)。 このパラメーターが 0 で Flags パラメーターが LR_DEFAULTSIZEされている場合、関数は SM_CXICON またはシステム メトリック値 SM_CXCURSOR 使用して幅を設定します。 このパラメーターが 0 で 、LR_DEFAULTSIZE が使用されていない場合、関数は実際のリソース幅を使用します。

[in] cyDesired

型: int

アイコンまたはカーソルの高さ (ピクセル単位)。 このパラメーターが 0 で Flags パラメーターが LR_DEFAULTSIZEされている場合、関数は SM_CYICON またはシステム メトリック値 SM_CYCURSOR 使用して高さを設定します。 このパラメーターが 0 で 、LR_DEFAULTSIZE が使用されていない場合、関数は実際のリソースの高さを使用します。

[in] Flags

型: UINT

次の値の組み合わせ。

意味
LR_DEFAULTCOLOR
0x00000000
既定の色形式を使用します。
LR_DEFAULTSIZE
0x00000040
cxDesired 値または cyDesired 値が 0 に設定されている場合は、カーソルまたはアイコンのシステム メトリック値で指定された幅または高さを使用します。 このフラグが指定されておらず、 cxDesiredcyDesired が 0 に設定されている場合、関数は実際のリソース サイズを使用します。
LR_MONOCHROME
0x00000001
モノクロ アイコンまたはカーソルを作成します。
LR_SHARED
0x00008000
アイコンまたはカーソルが複数回作成された場合に、アイコンまたはカーソル ハンドルを共有します。 LR_SHAREDが設定されていない場合、同じリソースに対して CreateIconFromResourceEx を 2 回目に呼び出すと、アイコンまたはカーソルが再度作成され、別のハンドルが返されます。

このフラグを使用すると、不要になったときにシステムによってリソースが破棄されます。

標準以外のサイズ、読み込み後に変更される可能性があるアイコンやカーソル、またはファイルから読み込まれるアイコンまたはカーソルには、 LR_SHARED を使用しないでください。

戻り値

種類: HICON

関数が成功した場合、戻り値はアイコンまたはカーソルへのハンドルです。

関数が失敗した場合は、返される値は NULL です。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

CreateIconFromResourceCreateIconFromResourceExCreateIconIndirectGetIconInfoLookupIconIdFromDirectoryEx 関数を使用すると、シェル アプリケーションとアイコン ブラウザーでシステム全体のリソースを調べて使用できます。

アイコンの場合は DestroyIcon を、CreateIconFromResourceEx を使用して作成されたカーソルの場合は DestroyCursor を呼び出す必要があります。

例については、「 共有アイコン リソース」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll

こちらもご覧ください

BITMAPINFOHEADER

概念

CreateIconFromResource

CreateIconIndirect

DestroyIcon

GetIconInfo

アイコン

LoadResource

LookupIconIdFromDirectoryEx

その他のリソース

参照