在使用 AnimateWindow 函数实现动画窗口时 出现的问题
error C2065: 'AnimateWindow' : undeclared identifier
error C2065: 'AW_HIDE' : undeclared identifier
error C2065: 'AW_BLEND' : undeclared identifier
原因:
原因何在?问题出在定义AnimateWindow函数的头文件Winuser.h中,在VC安装目录下进入include子目录,用EDIT打开 Winuser.h文件,按F3键查找AnimateWindow,可以发现有两处定义,一处是定义该函数中使用到的参数;另一处是该函数原型的定义。在 这两处定义中均出现了对Windows版本的条件判断:
见头文件中的原型:
#if(WINVER >= 0x0500)
/**//*
* AnimateWindow() Commands
*/
#if(WINVER >= 0x0500)
WINUSERAPI
BOOL
WINAPI
AnimateWindow(
HWND hWnd,
DWORD dwTime,
DWORD dwFlags);
#endif /* WINVER >= 0x0500 */
1、在StdAfx.h靠前的地方重新定义
加上#undef WINVER
#define WINVER 0x500
#undef WINVER
#define WINVER 0X500
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
2、修改Winuser.h中的#if(WINVER >= 0x0500),改为#if(WINVER >= 0x0400)