次の方法で共有


DrawIconEx 関数 (winuser.h)

指定したデバイス コンテキストにアイコンまたはカーソルを描画し、指定したラスター操作を実行し、指定したアイコンまたはカーソルを拡大または圧縮します。

構文

BOOL DrawIconEx(
  [in]           HDC    hdc,
  [in]           int    xLeft,
  [in]           int    yTop,
  [in]           HICON  hIcon,
  [in]           int    cxWidth,
  [in]           int    cyWidth,
  [in]           UINT   istepIfAniCur,
  [in, optional] HBRUSH hbrFlickerFreeDraw,
  [in]           UINT   diFlags
);

パラメーター

[in] hdc

型: HDC

アイコンまたはカーソルが描画されるデバイス コンテキストへのハンドル。

[in] xLeft

型: int

アイコンまたはカーソルの左上隅の論理 x 座標。

[in] yTop

型: int

アイコンまたはカーソルの左上隅の論理 y 座標。

[in] hIcon

型: HICON

描画するアイコンまたはカーソルのハンドル。 このパラメーターは、アニメーションカーソルを識別できます。

[in] cxWidth

型: int

アイコンまたはカーソルの論理幅。 このパラメーターが 0 で、diFlags パラメーターが DI_DEFAULTSIZE場合、関数は SM_CXICON システム メトリック値を使用して幅を設定します。 このパラメーターが 0 で、DI_DEFAULTSIZE が使用されていない場合、関数は実際のリソース幅を使用します。

[in] cyWidth

型: int

アイコンまたはカーソルの論理的な高さ。 このパラメーターが 0 で、diFlags パラメーターが DI_DEFAULTSIZE場合、関数は SM_CYICON システム メトリック値を使用して幅を設定します。 このパラメーターが 0 で、DI_DEFAULTSIZE が使用されていない場合、関数は実際のリソースの高さを使用します。

[in] istepIfAniCur

型: UINT

hIcon がアニメーションカーソルを識別 場合、描画するフレームのインデックス。 hIcon がアニメーションカーソル 識別しない場合、このパラメーターは無視されます。

[in, optional] hbrFlickerFreeDraw

型: HBRUSH

ちらつきのない描画にシステムが使用するブラシのハンドル。 hbrFlickerFreeDraw 有効なブラシ ハンドルである場合、システムは、背景色に指定されたブラシを使用してオフスクリーン ビットマップを作成し、アイコンまたはカーソルをビットマップに描画し、hdcによって識別されるデバイス コンテキスト ビットマップをコピーします。 hbrFlickerFreeDraw NULL場合、システムはアイコンまたはカーソルをデバイス コンテキストに直接描画します。

[in] diFlags

型: UINT

描画フラグ。 このパラメーターには、次のいずれかの値を指定できます。

価値 意味
DI_COMPAT
0x0004
このフラグは無視されます。
DI_DEFAULTSIZE
0x0008
cxWidth パラメーターと cyWidth パラメーターが 0 に設定されている場合は、アイコンのシステム メトリック値で指定された幅と高さを使用して、アイコンまたはカーソルを描画します。 このフラグが指定されておらず、cxWidth と cyWidth が 0 に設定 場合、関数は実際のリソース サイズを使用します。
DI_IMAGE
0x0002
イメージを使用してアイコンまたはカーソルを描画します。 「解説」を参照してください。
DI_MASK
0x0001
マスクを使用してアイコンまたはカーソルを描画します。 「解説」を参照してください。
DI_NOMIRROR
0x0010
ミラー化されていないアイコンとしてアイコンを描画します。 既定では、hdc がミラー化 場合、アイコンはミラー化されたアイコンとして描画されます。
DI_NORMAL
0x0003
DI_IMAGEDI_MASKの組み合わせ. 「解説」を参照してください。

戻り値

型: BOOL

関数が成功した場合、戻り値は 0 以外です。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

DrawIconEx 関数は、アイコンの左上隅を、xLeft および yTop パラメーターで指定された場所 配置します。 場所は、デバイス コンテキストの現在のマッピング モードの影響を受けます。

DI_IMAGE フラグと DI_MASK フラグのいずれかが設定されている場合は、対応するビットマップが SRCCOPYラスター演算コードで描画されます。

DI_IMAGE フラグと DI_MASK フラグの両方が設定されている場合:

  • アイコンまたはカーソルが 32 ビットのアルファ ブレンド アイコンまたはカーソルの場合、イメージはブレンド関数 AC_SRC_OVER で描画され、マスクは無視されます。
  • 他のすべてのアイコンまたはカーソルに対して、マスクは SRCANDラスター演算コードで描画され、イメージは SRCINVERTラスター演算コードで描画

を複製するには、次のように DrawIconEx 呼び出します。

DrawIconEx (hDC, X, Y, hIcon, 0, 0, 0, NULL, DI_NORMAL | DI_COMPAT | DI_DEFAULTSIZE); 

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ User32.lib
DLL User32.dll
API セットの ext-ms-win-ntuser-gui-l1-1-0 (Windows 8 で導入)

関連項目

概念

CopyImage

DrawIcon

アイコンの

LoadImage の

リファレンス

BitBlt

AlphaBlend

BLENDFUNCTION の