次の方法で共有


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 によって識別されるデバイス コンテキストにビットマップをコピーします。 hbrFlickerFreeDrawNULL の場合、システムはアイコンまたはカーソルをデバイス コンテキストに直接描画します。

[in] diFlags

型: UINT

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

意味
DI_COMPAT
0x0004
このフラグは無視されます。
DI_DEFAULTSIZE
0x0008
cxWidth パラメーターと cyWidth パラメーターが 0 に設定されている場合は、アイコンのシステム メトリック値で指定された幅と高さを使用して、アイコンまたはカーソルを描画します。 このフラグが指定されておらず、 cxWidthcyWidth が 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フラグの 1 つだけが設定されている場合は、対応するビットマップが SRCCOPYラスター操作コードで描画されます。

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

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

を複製 DrawIcon (hDC, X, Y, hIcon)するには、 次のように DrawIconEx を呼び出します。

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

要件

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

関連項目

概念

CopyImage

DrawIcon

アイコン

Loadimage

リファレンス

Bitblt

AlphaBlend

BLENDFUNCTION