LoadIconMetric 関数 (commctrl.h)

クライアント指定のシステム メトリックを使用して、指定されたアイコン リソースを読み込みます。

構文

HRESULT LoadIconMetric(
  [in]  HINSTANCE hinst,
  [in]  PCWSTR    pszName,
  [in]  int       lims,
  [out] HICON     *phico
);

パラメーター

[in] hinst

種類: HINSTANCE

読み込まれるアイコンを含む DLL または実行可能ファイル (.exe) のいずれかのモジュールへのハンドル。 詳細については、「 GetModuleHandle」を参照してください。

定義済みのシステム アイコンまたはスタンドアロン アイコン ファイルを読み込むには、このパラメーターを NULL に設定 します

[in] pszName

種類: PCWSTR

読み込むアイコンに関する位置情報を含む、null で終わる Unicode バッファーへのポインター。

hinstNULL 以外の場合、pszName はアイコン リソースを名前または序数で指定します。 この序数は 、MAKEINTRESOURCE マクロを使用してパッケージ化する必要があります。

hinstNULL の場合、pszName は読み込む定義済みのシステム アイコンの識別子 (IDI_ プレフィックスで始まる) を指定します。

[in] lims

型: int

目的のメトリック。 次のいずれかの値です。

[値] 意味
LIM_SMALL
小さいアイコンの推奨ピクセル幅である SM_CXSMICONに対応します。
LIM_LARGE
アイコンの既定のピクセル幅である SM_CXICONに対応します。

[out] phico

種類: HICON*

この関数が戻るとき、 には、読み込まれたアイコンのハンドルへのポインターが含まれます。

戻り値

種類: HRESULT

成功した場合はS_OKを返します。それ以外の場合は、次の値を含むエラーを返します。

リターン コード 説明
E_INVALIDARG
pszName が指すバッファーの内容は、予期される解釈のいずれにも適合しません。

注釈

LoadIconMetricLoadIcon に似ていますが、アイコン メトリックを指定する機能があります。 呼び出し元のアプリケーションが高品質のアイコンを確保する必要がある場合は、 LoadIcon の代わりに使用されます。 これは、1 インチあたりの高ドット数 (dpi) の状況で特に便利です。

アイコンは、次のように抽出または作成されます。

  1. リソース内で正確なサイズの一致が見つかった場合は、そのアイコンが使用されます。
  2. 正確に一致するサイズが見つかり、大きなアイコンを使用できる場合は、大きなバージョンを目的のサイズにスケールダウンすることで新しいアイコンが作成されます。
  3. 正確なサイズの一致が見つかっず、大きなアイコンが使用できない場合は、小さいアイコンを目的のサイズまでスケーリングすることで、新しいアイコンが作成されます。
LoadIconMetric と LoadIcon の比較呼び出しを次に示します
NOTIFYICONDATA  nidIconData  = {0};
nidIconData.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));

// Or...

HRESULT hr = LoadIconMetric(hInstance, MAKEINTRESOURCE(IDI_ICON), LIM_SMALL, &nidIconData.hIcon);

アプリケーションは、取得したアイコンで DestroyIcon を呼び出す役割を担います。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー commctrl.h
Library Comctl32.lib
[DLL] Comctl32.dll