鱼C论坛

 找回密码
 立即注册
查看: 2424|回复: 0

[API档案] AnimateWindow

[复制链接]
发表于 2016-8-24 12:48:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
注:本文档由 谁动了我的豆包 翻译,小甲鱼校对。

原文链接 -> 传送门

函数功能:

AnimateWindow 函数用于在显示或者隐藏窗口时制造特殊的效果。在这有四种类型的动画效果:滚动,滑动,折叠或展开,和阿尔法混合淡出。


API 函数原型:

注释:_In_ 说明该参数是输入的。
  1. BOOL WINAPI AnimateWindow(
  2.   _In_ HWND  hwnd,
  3.   _In_ DWORD dwTime,
  4.   _In_ DWORD dwFlags
  5. );
复制代码


参数解析:

参数 含义
hwnd1. 该参数指定产生动画的窗口的句柄

2. 正在被调用的线程必须拥有该窗口
dwTime1. 该参数指明播放动画所需要的时间(以微妙计)

2. 通常,播放一个动画需要 200 微秒
dwFlags1. 该参数指定动画的类型

2. 该参数可以是一个或者多个下列标识的组合:
含义
AW_ACTIVATE
(0x00020000)
该标识用于激活窗口。该标识不要与 AW_HIDE 标识一起使用
AW_BLEND
(0x00080000)
该标识用于使用淡出效果。只有 hWnd 参数为顶级窗口时,才可以使用该标识
AW_CENTER
(0x00000010)
若使用了 AW_HIDE 标识,该标识则使窗口向内折叠;若未使用 AW_HIDE 标识,该标识则使窗口向外折叠。此时各种方向标识没有效果
AW_HIDE
(0x00010000)
该标识用于隐藏窗口。默认情况下,该窗口是显示的
AW_HOR_POSITIVE
(0x00000001)
该标识用于自左向右地动画显示窗口。该标识可以与滚动动画或滑动动画共同使用。当与 AW_CENTER 标识或 AW_BLEND 标识共同使用时,该标识被忽略
AW_HOR_NEGATIVE
(0x00000002)
该标识用于自右向左地动画显示窗口。该标识可以与滚动动画或滑动动画共同使用。当与 AW_CENTER 标识或 AW_BLEND 标识共同使用时,该标识被忽略
AW_SLIDE
(0x00040000)
该标识用于使用滑动动画。默认情况下,使用滚动动画。当与 AW_CENTER 标识共同使用时,该标识被忽略
AW_VER_POSITIVE
(0x00000004)
该标识用于自上而下地动画显示窗口。该标识可以与滚动动画或滑动动画共同使用。当与 AW_CENTER 标识或 AW_BLEND 标识共同使用时,该标识被忽略
AW_VER_NEGATIVE
(0x00000008)
该标识用于自下而上地动画显示窗口。该标识可以与滚动动画或滑动动画共同使用。当与 AW_CENTER 标识或 AW_BLEND 标识共同使用时,该标识被忽略

3. 请注意,默认情况下,这些标识在显示窗口时生效。想要让这些标识在隐藏一个窗口时生效,可以用 AW_HIDE 标识和一个带有合适的标识的逻辑或操作符


返回值:

1. 如果该函数运行成功,则返回值为非 0;

2. 如果该函数运行失败,则返回值为 0。

在下列情况下,该函数将运行失败:

  • 如果窗口已经可见,并且你还要试图去显示窗口
  • 如果窗口已经被隐藏,并且你还要试图去隐藏窗口
  • 如果没有直接指定滑动动画或者滚动动画的方向
  • 当你试图去用 AW_BLEND 标识动画显示一个子窗口时
  • 如果线程不拥有窗口;注意,在这种情况下,AnimateWindow 函数会运行失败,但是 GetLastError 函数会返回 ERROR_SUCCESS

想要调用更多的错误信息,请调用 GetLastError 函数。


备注:

1. 想要显示或者隐藏一个不带有特殊效果的窗口,请用 ShowWindow 函数。

2. 当用滑动动画或者滚动动画时,你必须指明方向。该方向可以是 AW_HOR_POSITIVE 标识,AW_HOR_NEGATIVE 标识,AW_VER_POSITIVE 标识,或者 AW_VER_NEGATIVE 标识中的任意一个。

3. 你可以将 AW_HOR_POSITIVE 标识或 AW_HOR_NEGATIVE 标识与 AW_VER_POSITIVEH 或 AW_VER_NEGATIVE 标识组合,用来在对角线方向上动画显示一个窗口。

4. 窗口和该窗口的子窗口的窗口程序将会处理任何 WM_PRINT 消息或者 WM_PRINTCLIENT 消息。对话框,控件,和通用控件已经处理了 WM_PRINTCLIENT 消息。默认的窗口程序早已经处理了 WM_PRINT 消息。

5. 如果子窗口被缩短后部分显示,那么当该窗口动画显示时,在该窗口被缩短的地方将有洞。

6. AnimateWindow 函数支持 RTL 窗口。

7. 要避免动画显示一个有阴影窗口,因为该阴影会产生视觉上的干扰、笨拙的动画。


需求:

Minimum supported client Windows 2000 专业版 [仅桌面应用程序]
Minimum supported server Windows 2000 服务器版 [仅桌面应用程序]
HeaderWinuser.h (包含于 Windows.h)
LibraryUser32.lib
DLLUser32.dll


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 20:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表