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 运算符。
返回值
类型: BOOL
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 在以下情况下,函数将失败:
- 如果窗口已经可见,并且你正在尝试显示该窗口。
- 如果窗口已隐藏,并且你正在尝试隐藏该窗口。
- 如果没有为幻灯片或滚动动画指定方向。
- 尝试使用 AW_BLEND 对子窗口进行动画 处理时。
- 如果线程不拥有窗口,则为 。 请注意,在这种情况下, AnimateWindow 会失败,但 GetLastError 返回 ERROR_SUCCESS。
注解
若要显示或隐藏没有特殊效果的窗口,请使用 ShowWindow。
使用幻灯片或滚动动画时,必须指定方向。 它可以是 AW_HOR_POSITIVE、 AW_HOR_NEGATIVE、AW_VER_POSITIVE或AW_VER_NEGATIVE。
可以将 AW_HOR_POSITIVE 或 AW_HOR_NEGATIVE 与 AW_VER_POSITIVE 或 AW_VER_NEGATIVE 组合在一起,以对角线对角线对窗口进行动画处理。
窗口及其子窗口的窗口过程应处理任何 WM_PRINT 或 WM_PRINTCLIENT 消息。 对话框、控件和公共控件已处理 WM_PRINTCLIENT。 默认窗口过程已处理 WM_PRINT。
如果子窗口显示为部分剪裁,则动画显示时,将有一个剪裁处的孔。
AnimateWindow 支持 RTL 窗口。
避免对具有投影的窗口进行动画处理,因为它会产生令人分心的、令人分心的动画。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | 在 Windows 8) 中引入的 ext-ms-win-ntuser-window-l1-1-0 ( |
请参阅
概念性
其他资源
引用