请问AnimateWindow函数咋使...
查msdn知道是在winuser.h中定义的,
为什么编译时通不过,提示定义!
我在98和2k系统下都不行,不知道各位兄台是怎么使的???
问题点数:5、回复次数:6Top
1 楼wabc(wabc)回复于 2002-05-14 09:15:14 得分 1
在stdafx.h文件中提高你的操作系统版本号到0x0500
如果还不行,就下栽一个PlaformSDKTop
2 楼xiaoxieyu(抗日统一联盟: 小鱼)回复于 2002-05-14 09:23:15 得分 2
在工程里的StdAfx.h文件靠前位置加上如下定义
#undef WINVER
#define WINVER 0X500
另外:
函数原型: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_VER_POSITIVE:自顶向下显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志将被忽略。
AW_VER_NEGATIVE:自下向上显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志将被忽略。
返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。在下列情况下函数将失败:
窗口使用了窗口边界;窗口已经可见仍要显示窗口;窗口已经隐藏仍要隐藏窗口Top
3 楼lightrain(大雨滂沱)回复于 2002-05-14 10:06:21 得分 1
在VC安装目录下进入include子目录,用EDIT打开Winuser.h文件,按F3键查找AnimateWindow,可以发现有两处定义,一处是定义该函数中使用到的参数;另一处是该函数原型的定义。在这两处定义中均出现了对Windows版本的条件判断,#if (WINVER >= 0X500)……,问题出在这里,我们目前所使用的各种Windows主版本号均为5点零以下,所以在VC中编译上述程序时,编译系统自然将AnimateWindow函数排除在外。因此为了在我们的程序中使用该函数,就得对其头文件进行一些小小的修改,即将#if (WINVER >= 0X500)改为#if (WINVER >= 0X400),请注意两处出现该函数定义的部分都要进行修改。
假如你不想修改Winuser.h,可以在工程里的StdAfx.h文件靠前位置加上如下定义
#undef WINVER
#define WINVER 0X500
具体可以参考源代码
修改好头文件后,编译即可通过。
Top
4 楼xintiaf(日月紫光)回复于 2002-05-14 10:34:29 得分 0
谢谢两位的回复,偶在98下试,编译是通过了,可函数调用返回失败啊:)
2k等我回去看看,呵呵~~
另:我用2k系统就已经是5.0以上版本,为何也还得再define呢,解释解释呗Top
5 楼xintiaf(日月紫光)回复于 2002-05-14 10:42:43 得分 0
回 lightrain(大雨滂沱):
谢谢你的恢复,偶还有点细节问题不明白~~
请问你所说的“主版本号”指的是什么,使GetVersionEx 获取的那玩意算不,
我查2k和 xp 专业版版本分别是5。0 xxxx 和5。1 xxxx
不知道“我们目前所使用的各种Windows主版本号均为5点零以下”
从何而来??
Top
6 楼aqua_aqua(丁丁)回复于 2002-05-14 10:53:26 得分 1
在2K下好像也要再#define;
怎么用我给你介绍一篇文章,那上面还用个例子。这稿文章上讲的很清楚。http://www.vckbase.com/document/viewdoc.asp?id=291
但是他有一个地方没有讲,就是AnimateWindow在关闭窗口时,只有用在主窗口上才有效果,用在子窗口上是没有效果的。Top




