上海公司网站制作,做服装店网站的素材,个人网站是否需要备案,新开传奇遇到问题#xff1a; 今天做的一个程序要调用AnimateWindow()函数来实现窗口的动画效果#xff0c;参考书上在类的成员函数中直接调用该函数#xff0c;没有做任何处理。然而实验时发现编译通不过。 解决过程#xff1a; 查看MSDN后,发现AnimateWindow()函数说明中…遇到问题 今天做的一个程序要调用AnimateWindow()函数来实现窗口的动画效果参考书上在类的成员函数中直接调用该函数没有做任何处理。然而实验时发现编译通不过。 解决过程 查看MSDN后,发现AnimateWindow()函数说明中有以下描述 Function Information Header Declared in winuser.h, include windows.h Import library user32.lib Minimum operating systems Windows 98, Windows 2000 可见: 1.要添加#includewinuser.h或#includewindows.h语句; 2.在弹出菜单中选择:项目-工程名属性-链接器-输入-附加依赖项,将user32.lib添加进去 但此时编译时还是认不出AnimateWindow()及其参数,在AnimateWindow()上点击右键选转到声明,发现在winuser.h文件中对AnimateWindow()的声明如下: #if(WINVER 0x0500) WINUSERAPI BOOL WINAPI AnimateWindow( IN HWND hWnd, IN DWORD dwTime, IN DWORD dwFlags); #endif /* WINVER 0x0500 */ 可见如果WINVER的取值不满足WINVER 0x0500的条件的话,AnimateWindow()函数的声明将不被编译,在WINVER上点击右键选转到定义,发现在stdafx.h文件中对WINVER的定义如下: #ifndef WINVER // 允许使用 Windows 95 和 Windows NT 4 或更高版本的特定功能。 #define WINVER 0x0400 //为 Windows98 和 Windows 2000 及更新版本改变为适当的值。 #endif 这样问题就出来了,由于WINVER的值不满足WINVER 0x0500的条件,导致AnimateWindow()函数的声明不被编译,将#define WINVER 0x0400语句改成#define WINVER 0x0500,再编译,就发现AnimateWindow()函数已经可以识别了。 但是AnimateWindow()函数的一个参数宏仍然不能识别而其它的参数宏却可以经过检查发现由于参数宏都是大写字母是自己一时粗心看错了拼写导致的改成正确的拼写后程序编译通过 心得体会 1.“转到定义“的解决问题的方法十分重要。 2.对于宏等全大写字母的标志要注意拼写。 3.MSDN要仔细的阅读。 转载于:https://www.cnblogs.com/toosuo/archive/2007/12/02/979957.html