我有一个使用afxcmn header 的Visual Studio 2015项目,并且有很多“未定义”错误。
我在文档中读到了那些数据类型包含在commctrl.h中,该文件已作为外部依赖项包含在Visual Studio项目中。
// Adds a group to the control.
AFX_ANSI_DEPRECATED int InsertGroup(_In_ int index, _In_ PLVGROUP pgrp);
// Sets information about the specified group (by ID) in the control.
AFX_ANSI_DEPRECATED int SetGroupInfo(_In_ int iGroupId, _In_ PLVGROUP pGroup);
// Retrieves information for the specified group in the control.
AFX_ANSI_DEPRECATED int GetGroupInfo(_In_ int iGroupId, _Out_ PLVGROUP pgrp) const;
那是afxcmn.h的一些代码示例,它给出了这些错误。
我不知道是否需要在项目中配置其他内容以包含commctrl header
最佳答案
是的,PLVGROUP是在commctrl.h中定义的,但是取决于WINVER#if (NTDDI_VERSION >= NTDDI_WINXP)
这意味着WINVER> = 501,请参阅:
错误说明:MFC不支持小于0x0501的WINVER。请在项目属性或预编译的 header 中更改WINVER的定义。
所以我不得不改变我的stdafx.h //#define WINVER 0x0500 #define WINVER NTDDI_WINXP //0x05010000