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