Fungsi DrawIconEx (winuser.h)

Menggambar ikon atau kursor ke dalam konteks perangkat yang ditentukan, melakukan operasi raster yang ditentukan, dan membentangkan atau mengompresi ikon atau kursor seperti yang ditentukan.

Sintaksis

C++
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
);

Parameter

[in] hdc

Jenis: HDC

Handel ke konteks perangkat tempat ikon atau kursor akan digambar.

[in] xLeft

Jenis: int

Koordinat x logis dari sudut kiri atas ikon atau kursor.

[in] yTop

Jenis: int

Koordinat y logis dari sudut kiri atas ikon atau kursor.

[in] hIcon

Jenis: HICON

Handel ke ikon atau kursor yang akan digambar. Parameter ini dapat mengidentifikasi kursor animasi.

[in] cxWidth

Jenis: int

Lebar logis ikon atau kursor. Jika parameter ini nol dan parameter diFlags DI_DEFAULTSIZE, fungsi menggunakan nilai metrik sistem SM_CXICON untuk mengatur lebar. Jika parameter ini nol dan DI_DEFAULTSIZE tidak digunakan, fungsi menggunakan lebar sumber daya aktual.

[in] cyWidth

Jenis: int

Tinggi logis ikon atau kursor. Jika parameter ini nol dan parameter diFlagsDI_DEFAULTSIZE, fungsi menggunakan nilai metrik sistem SM_CYICON untuk mengatur lebar. Jika parameter ini nol dan DI_DEFAULTSIZE tidak digunakan, fungsi menggunakan tinggi sumber daya aktual.

[in] istepIfAniCur

Jenis: UINT

Indeks bingkai yang akan digambar, jika hIcon mengidentifikasi kursor animasi. Parameter ini diabaikan jika hIcon tidak mengidentifikasi kursor animasi.

[in, optional] hbrFlickerFreeDraw

Jenis: HBRUSH

Handel ke kuas yang digunakan sistem untuk menggambar bebas kedintar. Jika hbrFlickerFreeDraw adalah handel kuas yang valid, sistem membuat bitmap di luar layar menggunakan kuas yang ditentukan untuk warna latar belakang, menggambar ikon atau kursor ke bitmap, lalu menyalin bitmap ke dalam konteks perangkat yang diidentifikasi oleh hdc. Jika hbrFlickerFreeDrawNULL, sistem akan menarik ikon atau kursor langsung ke konteks perangkat.

[in] diFlags

Jenis: UINT

Bendera gambar. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Arti
DI_COMPAT
0x0004
Bendera ini diabaikan.
DI_DEFAULTSIZE
0x0008
Menggambar ikon atau kursor menggunakan lebar dan tinggi yang ditentukan oleh nilai metrik sistem untuk ikon, jika parameter cxWidth dan cyWidth diatur ke nol. Jika bendera ini tidak ditentukan dan cxWidth dan cyWidth diatur ke nol, fungsi menggunakan ukuran sumber daya aktual.
DI_IMAGE
0x0002
Menggambar ikon atau kursor menggunakan gambar. Lihat Komentar.
DI_MASK
0x0001
Menggambar ikon atau kursor menggunakan masker. Lihat Komentar.
DI_NOMIRROR
0x0010
Menggambar ikon sebagai ikon yang tidak disortir. Secara default, ikon digambar sebagai ikon cermin jika hdc dicerminkan.
DI_NORMAL
0x0003
Kombinasi DI_IMAGE dan DI_MASK. Lihat Komentar.

Mengembalikan nilai

Jenis: BOOL

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.

Komentar

Fungsi DrawIconEx menempatkan sudut kiri atas ikon di lokasi yang ditentukan oleh parameter xLeft dan yTop. Lokasi tunduk pada mode pemetaan konteks perangkat saat ini.

Jika hanya salah satu bendera DI_IMAGE dan DI_MASK yang diatur, maka bitmap yang sesuai digambar dengan kode operasi SRCCOPYraster.

Jika bendera DI_IMAGE dan DI_MASK diatur:

  • Jika ikon atau kursor adalah ikon atau kursor alfa-blend 32-bit, maka gambar digambar dengan fungsi campuran AC_SRC_OVER dan masker diabaikan.
  • Untuk semua ikon atau kursor lainnya, masker digambar dengan kode operasi SRCANDraster, dan gambar digambar dengan kode operasi SRCINVERTraster

Untuk menduplikasi DrawIcon (hDC, X, Y, hIcon), panggil DrawIconEx sebagai berikut:

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

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Platform Target Windows
Header winuser.h (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll
set API ext-ms-win-ntuser-gui-l1-1-0 (diperkenalkan di Windows 8)

Lihat juga

Konseptual

CopyImage

DrawIcon

Ikon

LoadImage

Referensi

BitBlt

AlphaBlend

BLENDFUNCTION