Fungsi AnimateWindow (winuser.h)

Memungkinkan Anda menghasilkan efek khusus saat menampilkan atau menyembunyikan jendela. Ada empat jenis animasi: roll, slide, collapse atau expand, dan alpha-blended fade.

Sintaks

BOOL AnimateWindow(
  [in] HWND  hWnd,
  [in] DWORD dwTime,
  [in] DWORD dwFlags
);

Parameter

[in] hWnd

Jenis: HWND

Handel ke jendela untuk menganimasikan. Alur panggilan harus memiliki jendela ini.

[in] dwTime

Jenis: DWORD

Waktu yang diperlukan untuk memutar animasi, dalam milidetik. Biasanya, animasi membutuhkan waktu 200 milidetik untuk diputar.

[in] dwFlags

Jenis: DWORD

Jenis animasi. Parameter ini bisa menjadi satu atau beberapa nilai berikut. Perhatikan bahwa, secara default, bendera ini berlaku saat menampilkan jendela. Untuk berlaku saat menyembunyikan jendela, gunakan AW_HIDE dan operator OR logis dengan bendera yang sesuai.

Nilai Makna
AW_ACTIVATE
0x00020000
Mengaktifkan jendela. Jangan gunakan nilai ini dengan AW_HIDE.
AW_BLEND
0x00080000
Menggunakan efek pudar. Bendera ini hanya dapat digunakan jika hwnd adalah jendela tingkat atas.
AW_CENTER
0x00000010
Membuat jendela tampak menciut ke dalam jika AW_HIDE digunakan atau diperluas ke luar jika AW_HIDE tidak digunakan. Berbagai bendera arah tidak berpengaruh.
AW_HIDE
0x00010000
Menyembunyikan jendela. Secara default, jendela ditampilkan.
AW_HOR_POSITIVE
0x00000001
Menganimasikan jendela dari kiri ke kanan. Bendera ini dapat digunakan dengan animasi roll atau slide. Ini diabaikan ketika digunakan dengan AW_CENTER atau AW_BLEND.
AW_HOR_NEGATIVE
0x00000002
Menganimasikan jendela dari kanan ke kiri. Bendera ini dapat digunakan dengan animasi roll atau slide. Ini diabaikan ketika digunakan dengan AW_CENTER atau AW_BLEND.
AW_SLIDE
0x00040000
Menggunakan animasi slide. Secara default, animasi roll digunakan. Bendera ini diabaikan ketika digunakan dengan AW_CENTER.
AW_VER_POSITIVE
0x00000004
Menganimasikan jendela dari atas ke bawah. Bendera ini dapat digunakan dengan animasi roll atau slide. Ini diabaikan ketika digunakan dengan AW_CENTER atau AW_BLEND.
AW_VER_NEGATIVE
0x00000008
Menganimasikan jendela dari bawah ke atas. Bendera ini dapat digunakan dengan animasi roll atau slide. Ini diabaikan ketika digunakan dengan AW_CENTER atau AW_BLEND.

Nilai kembali

Jenis: BOOL

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Fungsi akan gagal dalam situasi berikut:

  • Jika jendela sudah terlihat dan Anda mencoba menampilkan jendela.
  • Jika jendela sudah disembunyikan dan Anda mencoba menyembunyikan jendela.
  • Jika tidak ada arah yang ditentukan untuk animasi slide atau roll.
  • Saat mencoba menganimasikan jendela anak dengan AW_BLEND.
  • Jika utas tidak memiliki jendela. Perhatikan bahwa, dalam hal ini, AnimateWindow gagal tetapi GetLastError mengembalikan ERROR_SUCCESS.
Untuk mendapatkan informasi kesalahan yang diperluas, panggil fungsi GetLastError .

Keterangan

Untuk menampilkan atau menyembunyikan jendela tanpa efek khusus, gunakan ShowWindow.

Saat menggunakan animasi slide atau roll, Anda harus menentukan arahnya. Ini dapat berupa AW_HOR_POSITIVE, AW_HOR_NEGATIVE, AW_VER_POSITIVE, atau AW_VER_NEGATIVE.

Anda dapat menggabungkan AW_HOR_POSITIVE atau AW_HOR_NEGATIVE dengan AW_VER_POSITIVE atau AW_VER_NEGATIVE untuk menganimasikan jendela secara diagonal.

Prosedur jendela untuk jendela dan jendela anaknya harus menangani pesan WM_PRINT atau WM_PRINTCLIENT . Kotak dialog, kontrol, dan kontrol umum sudah menangani WM_PRINTCLIENT. Prosedur jendela default sudah menangani WM_PRINT.

Jika jendela anak ditampilkan sebagian terpotong, ketika dianimasikan, jendela tersebut akan memiliki lubang di mana jendela tersebut dipotong.

AnimateWindow mendukung jendela RTL.

Hindari menjiwai jendela yang memiliki bayangan jatuh karena menghasilkan animasi yang mengganggu dan dendeng secara visual.

Persyaratan

   
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 (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll
Set API ext-ms-win-ntuser-window-l1-1-0 (diperkenalkan di Windows 8)

Lihat juga

Konseptual

Sumber Daya Lain

Referensi

ShowWindow

WM_PRINT

WM_PRINTCLIENT

Windows