ImageList_DrawEx函式 (commctrl.h)

在指定的裝置內容中繪製影像清單專案。 函式會使用指定的繪圖樣式,並將影像與指定的色彩混合。

語法

BOOL ImageList_DrawEx(
  HIMAGELIST himl,
  int        i,
  HDC        hdcDst,
  int        x,
  int        y,
  int        dx,
  int        dy,
  COLORREF   rgbBk,
  COLORREF   rgbFg,
  UINT       fStyle
);

參數

himl

類型: HIMAGELIST

影像清單的控制碼

i

類型: int

要繪製之影像的索引。

hdcDst

類型: HDC

目的地裝置內容的控制碼。

x

類型: int

要繪製在指定裝置內容中的 X 座標。

y

類型: int

要繪製在指定裝置內容的 Y 座標。

dx

類型: int

相對於影像左上角繪製之影像部分的寬度。 如果 dxdy 為零,函式會繪製整個影像。 函式不會確保參數有效。

dy

類型: int

要繪製之影像部分的高度,相對於影像左上角。 如果 dxdy 為零,函式會繪製整個影像。 函式不會確保參數有效。

rgbBk

類型: COLORREF

影像的背景色彩。 此參數可以是應用程式定義的 RGB 值或下列其中一個值:

意義
CLR_NONE
沒有背景色彩。 影像會以透明方式繪製。
CLR_DEFAULT
預設背景色彩。 影像是使用影像清單的背景色彩來繪製。

rgbFg

類型: COLORREF

影像的前景色彩。 此參數可以是應用程式定義的 RGB 值或下列其中一個值:

意義
CLR_NONE
沒有混合色彩。 影像會與目的地裝置內容的色彩混合。
CLR_DEFAULT
預設的前景色彩。 影像是使用系統反白顯示色彩做為前景色彩來繪製。

fStyle

類型: UINT

繪圖樣式,並選擇性地重迭影像。 如需指定重迭影像索引的相關資訊,請參閱本主題結尾的批註一節。 此參數可以是重迭影像索引和下列一或多個值的組合:

意義
ILD_BLEND
ILD_BLEND25
繪製影像,並將 25% 與 rgbFg指定的混合色彩混合。 如果影像清單不包含遮罩,這個值就不會有任何作用。
ILD_BLEND50
繪製影像,並將 50% 與 rgbFg指定的混合色彩混合。 如果影像清單不包含遮罩,這個值就不會有任何作用。
ILD_FOCUS
ILD_IMAGE
如果重迭不需要繪製遮罩,請設定此旗標。 此旗標會導致 ImageList_DrawEx 只繪製影像,並忽略遮罩。
ILD_MASK
繪製遮罩。
ILD_NORMAL
使用影像清單的背景色彩繪製影像。 如果背景色彩是CLR_NONE值,則會使用遮罩以透明方式繪製影像。
ILD_SELECTED
ILD_TRANSPARENT
使用遮罩以透明方式繪製影像,而不論背景色彩為何。 如果影像清單不包含遮罩,這個值就不會有任何作用。

傳回值

類型: BOOL

如果成功,則傳回非零,否則傳回零。

備註

重迭影像會以透明方式繪製在 i 參數中指定的主要映射上。 若要在 fStyle 參數中指定重迭影像,請使用 INDEXTOOVERLAYMASK 宏來移動重迭影像的單一索引。 使用 OR 運算子,以邏輯方式結合宏的傳回值與 fStyle 參數中指定的繪圖樣式旗標。 您必須先使用 ImageList_SetOverlayImage 函式將此影像指定為重迭影像。

規格需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 commctrl.h
程式庫 Comctl32.lib
Dll Comctl32.dll