口袋兼职创始人:如何制作window移动的动画效果

来源:百度文库 编辑:高校问答 时间:2024/05/04 19:16:15
delphi,vc代码都可以
或思路,关键api
-----
不要
用循环生生的移动窗口的代码
如果有专门的api更好

在 VC 中可以使用 AnimateWidow函数 实现动画。该函数在Windows 98 后都支持,可以实现滚动 幻灯等效果。下面介绍使用方法:
(1)首先需要在工程里的StdAfx.h文件靠前位置加上如下定义  
#undef  WINVER  
#define  WINVER  0X500  
那是因为在AnimateWidow函数的实现中有一个判断宏 需要将 WINVER定义到0x500
(2)接下来就可以使用该函数了
BOOL AnimateWindow(HWND hwnd,DWORD dwTime,DWORD dwFlags );
第一个参数指要显示出来的窗体句柄,第二个参数为显示所用的时间,第三个参数表示显示标记。
具体参数的取值可以到 MSDN 中查找,下面的可以做为参考
AW_SLIDE 使用滑动动画效果,缺省为滚动方式,该标志在设置AW_CENTER时将被忽略
AW_ACTIVATE 激活窗口,该标志不能和AW_HIDE一起使用
AW_BLEND 使用一种退色效果该标志只有在窗体为置顶窗体时才使用
AW_HIDE 隐藏窗体,默认为可见
AW_CENTER 当设置HIDE时从四周向中心,否则中心向四周
AW_HOR_POSITIVE 从左向右动画显示窗体
AW_HOR_NEGATIVE 从右向左动画显示窗体
AW_VER_POSITIVE 从上到下动画显示窗体
AW_VER_NEGATIVE 从下到上动画显示窗体 最后四个参数当同时使用CENTER时将被忽略

示例:
AnimateWindow(GetSafeHwnd(),1000,AW_CENTER); 从中间向外显示
AnimateWIndow(GetSafehwnd(),1000,AW_CENTER | AW_HIDE); 从外向中间隐藏.