Vc中AnimateWindow函数用法

 

1.函数功能:

实现窗口动画效果

2.函数原型:

BOOL AnimateWindow(HWND hwnd,DWORD dwTime,DWORD dwFlags);

3. 参数说明:  

  hWnd:指定产生动画窗口的句柄;
  dwTime:指明动画持续的时间(以微秒计),完成一个动画的标准时间为200微秒;
  dwFags:指定动画类型。这个参数可以是一个或多个标志的组合。

dwFlags:

  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_VER_POSITIVE:自顶向下显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志将被忽略;

  AW_VER_NEGATIVE:自下向上显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志将被忽略;

返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。
 
  注意:
   
如果:
    1
、窗口使用了窗口边界;
    2
、窗口已经可见仍要显示窗口;
    3
、窗口已经隐藏仍要隐藏窗口。
   
函数将调用失败。

4.使用方法:

STDAFX.H中加入
  
 #undef   WINVER   

   #define   WINVER   0X5000
   
否则可能会产生如下错误(由于Windows版本问题):
  'AnimateWindow' : undeclared identifier
  'AW_HIDE' : undeclared identifier
  'AW_CENTER' : undeclared identifier

5.代码示例:

    void CAboutDlg::OnClose()
    {
           //
实现淡出效果。

          AnimateWindow(GetSafeHwnd(),1000,AW_HIDE|AW_BLEND);                   CDialog::OnClose(); 

      }

posted on 2007-05-25 18:48  路吾  阅读(866)  评论(0编辑  收藏  举报

导航