Fungsi UpdateLayeredWindow (winuser.h)
Updates posisi, ukuran, bentuk, konten, dan transparansi jendela berlapis.
Sintaks
BOOL UpdateLayeredWindow(
[in] HWND hWnd,
[in, optional] HDC hdcDst,
[in, optional] POINT *pptDst,
[in, optional] SIZE *psize,
[in, optional] HDC hdcSrc,
[in, optional] POINT *pptSrc,
[in] COLORREF crKey,
[in, optional] BLENDFUNCTION *pblend,
[in] DWORD dwFlags
);
Parameter
[in] hWnd
Jenis: HWND
Handel ke jendela berlapis. Jendela berlapis dibuat dengan menentukan WS_EX_LAYERED saat membuat jendela dengan fungsi CreateWindowEx .
Windows 8: Gaya WS_EX_LAYERED didukung untuk jendela tingkat atas dan jendela anak. Versi Windows sebelumnya mendukung WS_EX_LAYERED hanya untuk jendela tingkat atas.
[in, optional] hdcDst
Jenis: HDC
Handel ke DC untuk layar. Handel ini diperoleh dengan menentukan NULL saat memanggil fungsi GetDC . Ini digunakan untuk pencocokan warna palet ketika konten jendela diperbarui. Jika hdcDst adalah NULL, palet default akan digunakan.
Jika hdcSrcadalah NULL, hdcDst harus NULL.
[in, optional] pptDst
Jenis: TITIK*
Penunjuk ke struktur yang menentukan posisi layar baru jendela berlapis. Jika posisi saat ini tidak berubah, pptDst bisa NULL.
[in, optional] psize
Jenis: UKURAN*
Penunjuk ke struktur yang menentukan ukuran baru jendela berlapis. Jika ukuran jendela tidak berubah, ukuran psize bisa NULL. Jika hdcSrcadalah NULL, psize harus NULL.
[in, optional] hdcSrc
Jenis: HDC
Handel ke DC untuk permukaan yang menentukan jendela berlapis. Handel ini dapat diperoleh dengan memanggil fungsi CreateCompatibleDC . Jika bentuk dan konteks visual jendela tidak berubah, hdcSrc bisa null.
[in, optional] pptSrc
Jenis: TITIK*
Penunjuk ke struktur yang menentukan lokasi lapisan dalam konteks perangkat. Jika hdcSrc adalah NULL, pptSrc harus NULL.
[in] crKey
Jenis: COLORREF
Struktur yang menentukan kunci warna yang akan digunakan saat menyusun jendela berlapis. Untuk menghasilkan COLORREF, gunakan makro RGB .
[in, optional] pblend
Jenis: BLENDFUNCTION*
Penunjuk ke struktur yang menentukan nilai transparansi yang akan digunakan saat menyusun jendela berlapis.
[in] dwFlags
Jenis: DWORD
Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Gunakan pblend sebagai fungsi campuran. Jika mode tampilan adalah 256 warna atau kurang, efek nilai ini sama dengan efek ULW_OPAQUE. |
|
Gunakan crKey sebagai warna transparansi. |
|
Gambar jendela berlapis buram. |
|
Paksa fungsi UpdateLayeredWindowIndirect gagal jika ukuran jendela saat ini tidak cocok dengan ukuran yang ditentukan dalam psize. |
Jika hdcSrc adalah NULL, dwFlags harus nol.
Nilai kembali
Jenis: BOOL
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
DC sumber harus berisi permukaan yang menentukan konten jendela berlapis yang terlihat. Misalnya, Anda dapat memilih bitmap ke dalam konteks perangkat yang diperoleh dengan memanggil fungsi CreateCompatibleDC .
Aplikasi harus memanggil SetLayout pada konteks perangkat hdcSrc untuk mengatur mode pencerminan dengan benar. SetLayout akan mencerminkan semua gambar dengan benar ke dalam HDC sambil mempertahankan urutan arah bitmap teks dan (opsional) dengan benar. Ini tidak dapat mengubah gambar langsung ke bit bitmap independen perangkat (DIB). Untuk informasi selengkapnya, lihat Tata Letak Jendela dan Pencerminan.
Fungsi UpdateLayeredWindow mempertahankan tampilan jendela di layar. Jendela di bawah jendela berlapis tidak perlu dicat ulang ketika mereka terbongkar karena panggilan ke UpdateLayeredWindow, karena sistem akan secara otomatis mengecatnya kembali. Ini memungkinkan animasi tanpa hambatan dari jendela berlapis.
UpdateLayeredWindow selalu memperbarui seluruh jendela. Untuk memperbarui bagian jendela, gunakan WM_PAINT tradisional dan atur nilai campuran menggunakan SetLayeredWindowAttributes.
Untuk performa gambar terbaik oleh jendela berlapis dan jendela yang mendasar, jendela berlapis harus sesederhana mungkin. Aplikasi juga harus memproses pesan dan membuat ulang jendela berlapisnya saat kedalaman warna tampilan berubah.
Untuk informasi selengkapnya, lihat Windows Berlapis.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winuser.h (sertakan Windows.h) |
Pustaka | User32.lib |
DLL | User32.dll |
Set API | ext-ms-win-ntuser-window-l1-1-1 (diperkenalkan dalam Windows 8.1) |
Lihat juga
Konseptual
Sumber Daya Lain
Referensi