MinGW DEVMODE常量错误

时间:2016-10-06 14:50:00

标签: c++ windows dev-mode

专家!我是虚拟机中的WinXP用户。我已经安装了MinGW和一个用于开发C / C ++应用程序的IDE。今天我在MSDN上遇到了一个代码片段,你可以看到,

DEVMODE dm;
   // initialize the DEVMODE structure
   ZeroMemory(&dm, sizeof(dm));
   dm.dmSize = sizeof(dm);

   if (0 != EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm))
   {
      // swap height and width
      DWORD dwTemp = dm.dmPelsHeight;
      dm.dmPelsHeight= dm.dmPelsWidth;
      dm.dmPelsWidth = dwTemp;

      // determine new orientaion
      switch (dm.dmDisplayOrientation)
      {
      case DMDO_DEFAULT:
         dm.dmDisplayOrientation = DMDO_270;
         break;
      case DMDO_270:
         dm.dmDisplayOrientation = DMDO_180;
         break;
      case DMDO_180:
         dm.dmDisplayOrientation = DMDO_90;
         break;
      case DMDO_90:
         dm.dmDisplayOrientation = DMDO_DEFAULT;
         break;
      default:
         // unknown orientation value
         // add exception handling here
         break;
      }
      long lRet = ChangeDisplaySettings(&dm, 0);
      if (DISP_CHANGE_SUCCESSFUL != lRet)
      {
         // add exception handling here
      }
   }

当我在我的示例中编译该代码段时,我收到此错误消息,

  

错误:' DMDO_DEFAULT'未宣布的

     

错误:' DMDO_270'未宣布的

     

...

     

错误:' DMDO_90'未申报

我知道这些常数包含在" wingdi.h"文件,在我的情况下,这个文件包含这个代码,我认为它是正确的。

#if(WINVER >= 0x0501)
..
#define DMDO_DEFAULT 0x00000000
#define DMDO_90 0x00000001
#define DMDO_180 0x00000002
#define DMDO_270 0x00000003

问题出在哪里,有人可以向我解释一下吗? "版本"命令给了我那个输出,

$ ver
Microsoft Windows XP [Version 5.1.2600]

对不起我的英语语法,谢谢你的帮助。

0 个答案:

没有答案