SetupDiDrawMiniIcon 関数は、指定されたミニ アイコンを要求された場所に描画します。
構文
WINSETUPAPI INT SetupDiDrawMiniIcon(
[in] HDC hdc,
[in] RECT rc,
[in] INT MiniIconIndex,
[in] DWORD Flags
);
パラメーター
[in] hdc
ミニ アイコンが描画されるデバイス コンテキストへのハンドル。
[in] rc
ミニ アイコンを描画する、指定したデバイス コンテキスト ハンドル内の四角形。
[in] MiniIconIndex
SetupDiLoadClassIcon または SetupDiGetClassBitmapIndex から取得したミニ アイコンのインデックス。 デバイスに対して次の定義済みインデックスを使用できます。
| クラス | インデックス |
|---|---|
| コンピューター/システム | 0 |
| ディスプレイ/モニター | 2 |
| ネットワーク アダプター | 3 |
| マウス | 5 |
| キーボード | 6 |
| サウンド | 8 |
| FDC/HDC | 9 |
| Port | 10 |
| [プリンター] | 14 |
| ネットワーク トランスポート | 15 |
| ネットワーク クライアント | 16 |
| Network Service | 17 |
| Unknown | 18 |
[in] Flags
これらのフラグは描画操作を制御します。 LOWORD には、次のように定義された実際のフラグが含まれています。
DMI_MASK
ミニ アイコンのマスクを HDC に描画します。
DMI_BKCOLOR
フラグの HIWORD で指定されたシステム カラー インデックスを背景色として使用します。 このフラグが設定されていない場合は、COLOR_WINDOWが使用されます。
DMI_USERECT
設定した場合、 SetupDiDrawMiniIcon は 指定された四角形を使用し、アイコンが収まるように拡大します。
戻り値
この関数は、文字列を開始する rc の左側からのオフセットを返します。 描画操作が失敗した場合、関数は 0 を返します。
解説
既定では、アイコンは垂直方向の中央に配置され、指定した四角形の左側に強制的に配置されます。
SetupDiDrawMiniIcon は、 MiniIconIndex パラメーターで指定されたアイコンの 16 ビット バージョンを描画します。 SetupDiDrawMiniIcon の代わりに、SetupDiLoadClassIcon を DrawIcon または DrawIconEx と共に使用して、アイコンの 32 ビット バージョンを描画する必要があります。 DrawIconEx を使用してアイコンを表示する方法の例を次に示します。
HICON hIcon;
if (SetupDiLoadClassIcon(&GUID_DEVCLASS_USB, &hIcon, NULL)) {
DrawIconEx(hDC, 0, 0, hIcon, GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON), 0, NULL, DI_NORMAL);
DestroyIcon(hIcon);
}
DrawIcon または DrawIconEx の詳細については、Microsoft Windows Software Development Kit (SDK) for Windows 7 および .NET Framework 4.0 のドキュメントを参照してください。
要件
| サポートされている最小のクライアント | Microsoft Windows 2000 以降のバージョンの Windows で使用できます。 |
| 対象プラットフォーム | デスクトップ |
| Header | setupapi.h (Setupapi.h を含む) |
| Library | Setupapi.lib |
| [DLL] | Setupapi.dll |