CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

请问AnimateWindow函数咋使...

楼主xintiaf(日月紫光)2002-05-14 07:51:35 在 VC/MFC / 基础类 提问

查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

相关问题

  • 怎样使用AnimateWindow这个api函数?
  • 怎 样使用AnimateWindow函数,谢了!
  • VB.NET中如何使用AnimateWindow函数???
  • AnimateWindow函数用法
  • VC6中使用::AnimateWindow()函数需做哪些修改?
  • 在vb下使用过AnimateWindow这条API函数的人请进
  • AnimateWindow函数的问题
  • AnimateWindow函数的问题
  • 如何能解决 AnimateWindow 函数在NT4.0下不能使用的问题???
  • 使用AnimateWindow函数实现窗口淡入淡出效果的问题

关键词

  • 函数
  • 编译
  • 文件
  • 修改
  • 效果
  • 版本
  • 系统
  • aw
  • 标志
  • animatewindow

得分解答快速导航

  • 帖主:xintiaf
  • wabc
  • xiaoxieyu
  • lightrain
  • aqua_aqua

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo