现在的位置: 首页 > 综合 > 正文

旋转屏幕

2013年11月07日 ⁄ 综合 ⁄ 共 848字 ⁄ 字号 评论关闭
   调用Window API函数可以实现,须在VS2005或以后版本编译才行,VC6的头文件太早,这个特性它里面还没有
  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
      }
  }

抱歉!评论已关闭.