Share via


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

圖示或游標的邏輯寬度。 如果此參數為零, 且 diFlags 參數 DI_DEFAULTSIZE,則函式會使用 SM_CXICON 系統計量值來設定寬度。 如果此參數為零,且未使用 DI_DEFAULTSIZE ,則函式會使用實際的資源寬度。

[in] cyWidth

類型: int

圖示或游標的邏輯高度。 如果此參數為零且 diFlags 參數 DI_DEFAULTSIZE,則函式會使用 SM_CYICON 系統計量值來設定寬度。 如果此參數為零,且未使用 DI_DEFAULTSIZE ,則函式會使用實際的資源高度。

[in] istepIfAniCur

類型: UINT

如果 hIcon 識別動畫游標,則為要繪製之畫面的索引。 如果 hIcon 未識別動畫游標,則會忽略此參數。

[in, optional] hbrFlickerFreeDraw

類型: HBRUSH

系統用於無閃爍繪圖的筆刷句柄。 如果 hbrFlickerFreeDraw 是有效的筆刷句柄,系統會使用指定的背景色彩筆刷建立螢幕外畫面位圖、將圖示或游標繪製到位圖中,然後將位圖複製到 hdc 所識別的裝置內容中。 如果 hbrFlickerFreeDrawNULL,系統會直接將圖示或游標繪製到裝置內容中。

[in] diFlags

類型: UINT

繪圖旗標。 此參數可以是下列其中一個值。

意義
DI_COMPAT
0x0004
會忽略此旗標。
DI_DEFAULTSIZE
0x0008
如果 cxWidthcyWidth 參數設定為零,則會使用系統計量值所指定的寬度和高度繪製圖示或游標。 如果未指定此旗標, 且 cxWidthcyWidth 設定為零,則函式會使用實際的資源大小。
DI_IMAGE
0x0002
使用影像繪製圖示或游標。 請參閱<備註>。
DI_MASK
0x0001
使用遮罩繪製圖示或游標。 請參閱<備註>。
DI_NOMIRROR
0x0010
將圖示繪製為未完成的圖示。 根據預設,如果 hdc 是鏡像,則會將圖示繪製為鏡像圖示。
DI_NORMAL
0x0003
DI_IMAGEDI_MASK的組合。 請參閱<備註>。

傳回值

類型: BOOL

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

DrawIconEx 函式會將圖示的左上角放在 xLeftyTop 參數所指定的位置。 位置受限於裝置內容的目前對應模式。

如果只設定其中一個 DI_IMAGEDI_MASK 旗標,則會使用 SRCCOPY點陣作業程式碼繪製對應的位圖。

如果已設定 DI_IMAGEDI_MASK 旗標:

若要複製 DrawIcon (hDC, X, Y, hIcon),請呼叫 DrawIconEx ,如下所示:

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

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 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