您的位置:首页 > 其它

MFC---AnimateWindow实现窗口动画效果

2016-08-08 20:59 1366 查看
转自:

http://www.cnblogs.com/phinecos/archive/2007/07/16/820309.html

在窗体初始化函数,如OnInitDialog()中添加:

CenterWindow();  //窗口居于屏幕正中央
AnimateWindow(GetSafeHwnd(), 500, AW_CENTER);  //窗口向外打开


在关闭按钮中添加:

AnimateWindow(GetSafeHwnd(), 500, AW_HIDE|AW_CENTER);  //窗口向内收缩


在stdafx.h中较靠前的位置添加:

#undef WINVER
#define WINVER 0X500


即可实现窗体动画效果

函数详解:

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


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、窗口已经隐藏仍要隐藏窗口。

函数将失败。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: