共用方式為


AnimateWindow 函式 (winuser.h)

可讓您在顯示或隱藏視窗時產生特殊效果。 動畫有四種類型:滾動、投影片、折迭或展開,以及 Alpha 混合淡化。

語法

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

參數

[in] hWnd

類型: HWND

要產生動畫效果之視窗的控制碼。 呼叫執行緒必須擁有此視窗。

[in] dwTime

類型: DWORD

播放動畫所需的時間,以毫秒為單位。 一般而言,動畫需要 200 毫秒才能播放。

[in] dwFlags

類型: DWORD

動畫的類型。 此參數可以是下列一或多個值。 請注意,根據預設,這些旗標會在顯示視窗時生效。 若要在隱藏視窗時生效,請使用 AW_HIDE 和邏輯 OR 運算子搭配適當的旗標。

意義
AW_ACTI加值稅E
0x00020000
啟用視窗。 請勿將此值與 AW_HIDE搭配使用。
AW_BLEND
0x00080000
使用淡出效果。 只有在 hwnd 是最上層視窗時,才能使用此旗標。
AW_CENTER
0x00000010
如果使用 AW_HIDE, 或未使用 AW_HIDE 向外展開,則視窗會顯示為向內折迭。 各種方向旗標沒有任何作用。
AW_HIDE
0x00010000
隱藏視窗。 根據預設,會顯示視窗。
AW_HOR_POSITIVE
0x00000001
將視窗從左至右產生動畫效果。 此旗標可以搭配投影片或投影片動畫使用。 與 AW_CENTERAW_BLEND搭配使用時,會忽略它。
AW_HOR_NEGATIVE
0x00000002
以動畫顯示視窗從右至左。 此旗標可以搭配投影片或投影片動畫使用。 與 AW_CENTERAW_BLEND搭配使用時,會忽略它。
AW_SLIDE
0x00040000
使用投影片動畫。 根據預設,會使用滾動動畫。 搭配 AW_CENTER使用時,會忽略此旗標。
AW_VER_POSITIVE
0x00000004
從上到下動畫顯示視窗。 此旗標可以搭配投影片或投影片動畫使用。 與 AW_CENTERAW_BLEND搭配使用時,會忽略它。
AW_VER_NEGATIVE
0x00000008
以動畫顯示視窗從底部到頂端。 此旗標可以搭配投影片或投影片動畫使用。 與 AW_CENTERAW_BLEND搭配使用時,會忽略它。

傳回值

類型: BOOL

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

如果此函式失敗,則傳回值為零。 在下列情況下,函式將會失敗:

  • 如果視窗已經可見,而且您嘗試顯示視窗。
  • 如果視窗已經隱藏,而且您嘗試隱藏視窗。
  • 如果沒有指定投影片或投影片動畫的方向。
  • 嘗試使用 AW_BLEND建立子視窗的動畫時。
  • 如果執行緒沒有擁有視窗。 請注意,在此情況下, AnimateWindow 會失敗,但 GetLastError 會傳回 ERROR_SUCCESS
若要取得擴充的錯誤資訊,請呼叫 GetLastError 函式。

備註

若要顯示或隱藏沒有特殊效果的視窗,請使用 ShowWindow

使用投影片或滾動動畫時,您必須指定方向。 它可以是 AW_HOR_POSITIVEAW_HOR_NEGATIVE、AW_VER_POSITIVE或AW_VER_NEGATIVE。

您可以結合 AW_HOR_POSITIVEAW_HOR_NEGATIVEAW_VER_POSITIVEAW_VER_NEGATIVE ,以對角線顯示視窗的動畫效果。

視窗及其子視窗的視窗程式應該處理任何 WM_PRINTWM_PRINTCLIENT 訊息。 對話方塊、控制項和一般控制項已經處理 WM_PRINTCLIENT。 預設視窗程式已經處理 WM_PRINT

如果子視窗部分裁剪,當子視窗呈現動畫時,就會有裁剪的漏洞。

AnimateWindow 支援 RTL 視窗。

避免以動畫顯示具有陰影的視窗,因為它會產生視覺上的干擾、Jerky 動畫。

規格需求

   
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 winuser.h (包括 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-window-l1-1-0 (在 Windows 8)

另請參閱

概念

其他資源

參考

ShowWindow

WM_PRINT

WM_PRINTCLIENT

Windows