次の方法で共有


CImageList::DrawIndirect

イメージ リストのイメージを描画するために、このメンバー関数を呼び出します。

BOOL DrawIndirect(
   IMAGELISTDRAWPARAMS* pimldp 
);
BOOL DrawIndirect(
   CDC* pDC,
   int nImage,
   POINT pt,
   SIZE sz,
   POINT ptOrigin,
   UINT fStyle = ILD_NORMAL,
   DWORD dwRop = SRCCOPY,
   COLORREF rgbBack = CLR_DEFAULT,
   COLORREF rgbFore = CLR_DEFAULT,
   DWORD fState = ILS_NORMAL,
   DWORD Frame = 0,
   COLORREF crEffect = CLR_DEFAULT
);

パラメーター

  • pimldp
    描画操作に関する情報を含む IMAGELISTDRAWPARAMS の構造体へのポインター。

  • pDC
    コピー先のデバイス コンテキストへのポインター。とすると CDC でこのオブジェクトを削除する必要があります。

  • nImage
    描画するイメージのインデックス。

  • pt
    イメージが描画される x 軸および y-座標を含む構造体の [ポイント]

  • sz
    描画するイメージのサイズを示す構造の サイズ変更

  • ptOrigin
    イメージに関連する描画操作の左上隅指定した x 座標と y 座標を含む構造体を [ポイント] の。の左側に x 座標と y 座標の上部にあるイメージのピクセルを描画します。

  • fStyle
    描画スタイル、およびオプションで、オーバーレイ イメージを指定することを表すフラグです。オーバーレイ イメージの詳細については、"解説"を参照してください。MFC の既定の実装は、ILD_NORMALイメージ リストの背景色を使用して、イメージを描画します。背景色が CLR_NONE の値の場合、イメージはマスクを使用して透過的に描画します。

    他の有効なスタイルは IMAGELISTDRAWPARAMS の構造体の fStyle のメンバーの下で説明します。

  • dwRop
    ラスター オペレーション コードを指定する値。これらのコードは最終的な色を達成するために元の四角形の色データをコピー先の四角形の色データを結合する方法を定義します。MFC の既定の実装は、SRCCOPY先の四角形に、元の四角形を直接コピーします。このパラメーターは fStyle のパラメーターは ILD_ROP のフラグを含める無視されます。

    他の値は IMAGELISTDRAWPARAMS の構造体の dwRop のメンバーの下で説明します。

  • rgbBack
    イメージの背景色、既定では、CLR_DEFAULT。このパラメーターには、次の値をアプリケーション定義の RGB 値または 1 のいずれかです:

    説明

    CLR_DEFAULT

    既定の背景色。イメージは、イメージ リストの背景色を使用して描画します。

    CLR_NONE

    背景色はありません。イメージは透過的に描画します。

  • rgbFore
    イメージの前景色、既定では、CLR_DEFAULT。このパラメーターには、次の値をアプリケーション定義の RGB 値または 1 のいずれかです:

    説明

    CLR_DEFAULT

    既定の前景色。イメージは、前景色としてシステムの強調表示色を使用して描画します。

    CLR_NONE

    Expression Blend なし。イメージは先のデバイス コンテキストの色とブレンドされます。

    このパラメーターは fStyle が ILD_BLEND25 または ILD_BLEND50 のフラグが含まれている場合にのみ使用されます。

  • fState
    描画の状態を指定するフラグ。このメンバーは一つ以上のイメージ リストの状態のフラグを含めることができます。

  • フレーム
    動作の飽和とアルファ ブレンドの効果に影響します。

    ILS_SATURATEを使用すると、このメンバーはアイコンの各ピクセルの色の RGB 三各コンポーネントに追加された値を保持します。

    ILS_APLHAを使用すると、このメンバーは、アルファ チャネルの値を保持します。この値は、完全に不透明である 255 0 から完全に透明で 0 は 255 から、のいずれかです。

  • crEffect
    外縁にグローとシャドウ効果に使用する COLORREF の値。

戻り値

イメージが正常に描画**[真]** ; それ FALSE

解説

独自 Win32 構造体を表示する場合は、最初のバージョンを使用します。MFC の既定の一つ以上の引数を使用する場合は、を使用します。または構造体を管理することは避けてください。2 番目のバージョンは。

オーバーレイ イメージがプライマリ イメージの上に描画されます nImage のパラメーターでこのメンバー関数で指定されるイメージです。INDEXTOOVERLAYMASK のマクロによって指定されるオーバーレイ マスクの 1 から始まるインデックスで [描画] のメンバー関数を使用して、オーバーレイのマスクを描画します。

使用例

int i, dx, cx, cy, nCount = m_myImageList.GetImageCount();

::ImageList_GetIconSize(m_myImageList, &cx, &cy);

// Draw the images of the image list on the DC.
for (dx = 0, i = 0; i < nCount; i++)
{
   m_myImageList.DrawIndirect(&dc, i, CPoint(dx, 0), 
      CSize(cx, cy), CPoint(0, 0));
   dx += cx;
}      

必要条件

ヘッダー: afxcmn.h

参照

関連項目

CImageList クラス

階層図

CImageList::SetOverlayImage