码迷,mamicode.com
首页 > Windows程序 > 详细

使用AnimateWindow来实现窗口淡入淡出(主要有四种动画,滚动,滑动,折叠或展开,和淡入淡出)

时间:2016-12-08 03:32:59      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:注意   gic   bool   log   windows   方向   扩展   原型   多个   

如果是在VC6下进行编译,应引入下面的预编译宏,注意放在windows.h的前面
#undef  WINVER   
#define  WINVER   0x500
为什么要引入上面的宏呢?看看winuser.h里面该API的声明就明白了:
#if(WINVER >= 0x0500)
WINUSERAPI
BOOL
WINAPI
AnimateWindow(
    HWND hWnd,
    DWORD dwTime,
    DWORD dwFlags);
#endif /* WINVER >= 0x0500 */
如果你不进行这个宏的从定义,该API就被排除了,编译会有error。

Declared in Winuser.h, include Windows.h

函数原型:
BOOL AnimateWindow(
    HWND hwnd,
    DWORD dwTime,
    DWORD dwFlags);   
   
函数功能:
该函数能在显示与隐藏窗口时产生特殊类型的动画效果,主要有四种动画,滚动,滑动,折叠或展开,和淡入淡出。

参数含义:
hwnd: 指定产生动画的窗口的句柄。
dwTime:指明动画持续的时间(以微秒计),完成一个动画的标准时间为200微秒。
dwFags:指定动画类型,这个参数可以是一个或多个下列标志的组合。标志描述:    
    AW_SLIDE:  使用滑动类型,缺省则为滚动动画类型,当使用AW_CENTER标志时,这个标志就被忽略。    
    AW_ACTIVATE: 激活窗口,不要和AW_HIDE标志一起使用。    
    AW_BLEND:  实现淡出效果。只有当hWnd为顶层窗口的时候才可以使用此标志。    
    AW_HIDE:  隐藏窗口,缺省则显示窗口。    
    AW_CENTER:  若使用了AW_HIDE标志,则使窗口向内重叠,即收缩窗口;若未使用AW_HIDE标志,则使窗口向外扩展,即展开窗口。    
    AW_HOR_POSITIVE: 自左向右显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER或者AW_BLEND标志时,该标志将被忽略。    
    AW_VER_POSITIVE: 自顶向下显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER或者AW_BLEND标志时,该标志将被忽略。    
    AW_VER_NEGATIVE: 自下向上显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER或者AW_BLEND标志时,该标志将被忽略。   

返回值:
如果函数成功,返回值为非零;如果函数失败,返回值为零。在下列情况下函数将失败:
1、如果窗口使用窗口区域,但是XP下不会失败;
2、窗口已经显示了,你还想通过这个API来显示窗口;
3、窗口已经消失了,你试图通过这个API来隐藏窗口;
4、没有为滚动或者滑动指定方向;
5、对一个子窗口使用AW_BLEND;
6、调用这个API的线程并不拥有hwnd指定的窗口;

函数信息:
最小DLL版本: user32.dll 
头文件: Declared in Winuser.h, include Windows.h 
引入的库: User32.lib 
最小操作系统: Windows 98, Windows 2000

注意:使用AnimateWindow来进行淡出时,此时窗口收不到鼠标消息了,如果你有需求:在窗口淡出即将消失时,如果鼠标移上去,窗口恢复正常显示,并且不消失。使用AnimateWindow是没办法实现的,那是否有其它的方法呢?下次再谈,o(∩_∩)o...。

[END]

 

http://blog.csdn.net/magictong/article/details/4074394

使用AnimateWindow来实现窗口淡入淡出(主要有四种动画,滚动,滑动,折叠或展开,和淡入淡出)

标签:注意   gic   bool   log   windows   方向   扩展   原型   多个   

原文地址:http://www.cnblogs.com/findumars/p/6143424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!