Delphi使用Windows API函数AnimateWindow实现窗体特效

{**********************************************************************
API函数 AnimateWindow 使用:
函数功能:窗体显示和隐藏时产生特殊的动画效果;可以产生两种类型的动画效果:
          滚动动画 和 滑动动画
函数原型:BOOL AnimateWindow(HWND hWnd, DWORD dwTime, DWORD dwFlags)
参数说明:hWnd 指定产生动画效果的窗体的句柄;
          dwTime 指定动画持续的时间(以为秒计算),完成一个动画的标准时间
                 为200微秒;
          dwFlags  指定动画类型。这个参数可以是一个或多个下列标志的组合;
标志说明:AW_SLIDE 使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER
                   标志时,这个标志就被忽略。
          AW_ACTIVE 激活窗口。在使用了AW_HIDE标志后不要使用这个标志。
          AW_BLEND 使用淡出效果。只有当hWnd为顶层窗口的时候才可以使用此标志。
          AW_HIDE 隐藏窗口,缺省则显示窗口。
          AW_CENTER 若使用了AW_HIDE标志,则使窗口向内重叠;若未使用AW_HIDE
                    标志,则使窗口向外扩展。
          AW_HOR_POSITIVE 自左向右显示窗口。该标志可以在滚动动画和滑动动画
                          中使用。当使用AW_CENTER标志时,该标志将被忽略。
          AW_HOR_NEGATIVE 自右向左显示窗口。该标志可以在滚动动画和滑动动画
                          中使用。当使用AW_CENTER标志时,该标志将被忽略。
          AW_VER_POSITIVE 自顶向下显示窗口。该标志可以在滚动动画和滑动动画
                          中使用。当使用AW_CENTER标志时,该标志将被忽略。
          AW_VER_NEGATIVE 自下向上显示窗口。该标志可以在滚动动画和滑动动画
                          中使用。当使用AW_CENTER标志时,该标志将被忽略。
返回值: 如果函数成功,返回值为非零;如果函数失败,返回值为零。在下列情况
         下函数将失败:窗口使用了窗口边界;窗口已经可见仍要显示窗口;窗口
         已经隐藏仍要隐藏窗口。若想获得更多错误信息,请调用GetLastError函
         数。
备注:   可以将AW_HOR_POSITIVE或AW_HOR_NEGTVE与AW_VER_POSITVE或AW_VER_NEGATIVE
                  组合来激活一个窗口。   
**********************************************************************}
//从下面往上面滚动
procedure TForm1.FormCreate(Sender: TObject);
begin
  AnimateWindow(Handle, 1000, AW_SLIDE + AW_VER_NEGATIVE);
end;

//渐渐隐去
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
  AnimateWindow(Handle, 2000, AW_SLIDE + AW_BLEND + AW_HIDE);
  Application.Terminate;
end;

http://www.lsworks.net/article/51.html

posted @ 2015-11-26 21:32  findumars  Views(783)  Comments(0Edit  收藏  举报