共用方式為


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
    out 包含關於繪製作業相關資訊的 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 值或下列其中一個值:

    意義

    CLR_DEFAULT

    預設背景色彩。 使用影像清單的背景色彩,將影像繪製。

    CLR_NONE

    沒有背景色彩。 以透明方式繪製影像。

  • rgbFore
    影像前景色彩,根據預設 CLR_DEFAULT。 這個參數可以是應用程式定義的 RGB 值或下列其中一個值:

    意義

    CLR_DEFAULT

    預設前景色彩。 將影像繪製使用系統的醒目提示色彩成為前景色彩。

    CLR_NONE

    沒有混合色彩。 影像與目的裝置内容的色彩混用。

    這個參數時,才會 fStyle 包括 ILD_BLEND25ILD_BLEND50 旗標,請使用。

  • fState
    繪製指定狀態的旗標。 這個成員可以包含一或多個影像清單狀態旗標。

  • 框架
    影響行為飽和及 Alpha 混色效果。

    與一起使用時, ILS_SATURATE成員運算式加入至 RGB 三色每個色彩元件在每一個像素的圖示的值。

    與一起使用時, ILS_APLHA成員運算式的 Alpha 色頻值。 這個值可以是從 0 到 255,其中 0 完全透明和 255 完全不透明。

  • crEffect
    用來建立光暈和陰影效果的 COLORREF 值。

傳回值

,如果成功繪製影像,否則

備註

如果您想要填入 Win32 結構,請使用第一個版本。 請使用第二個版本,如果您想要使用一或多個 MFC 的預設引數,或避免處理結構。

覆疊影像是繪製在主要影像頂端的影像,指定此成員函式以 nImage 參數。 繪製覆疊遮罩使用覆疊遮罩中以一起始的索引 繪圖 成員函式指定使用 INDEXTOOVERLAYMASK 巨集。

範例

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;
}      

需求

Header: afxcmn.h

請參閱

參考

CImageList 類別

階層架構圖表

CImageList::SetOverlayImage