Chinaunix首页 | 论坛 | 博客
  • 博客访问: 343808
  • 博文数量: 97
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 636
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-12 22:41
文章分类

全部博文(97)

文章存档

2017年(8)

2015年(87)

2014年(2)

我的朋友

分类: 嵌入式

2015-06-13 12:13:25

wince系统的GDI提供了支持液晶翻转的接口,需要在驱动层实现。在应用层只需修改注册表[HKEY_LOCAL_MACHINE\System\GDI\ROTATION]即可。

代码段如下:

点击(此处)折叠或打开

  1. HKEY hRegKey;
  2.     DWORD status;
  3.     DWORD ValType;
  4.     DWORD ValLen;

  5.     DWORD Rotation = 0;
  6.     DEVMODE devmode = {0};
  7.     devmode.dmSize = sizeof(DEVMODE);
  8.     devmode.dmFields = DM_DISPLAYORIENTATION;
  9.     ChangeDisplaySettingsEx(NULL, &devmode, 0, CDS_TEST, NULL);

  10.     switch(devmode.dmDisplayOrientation)
  11.     {
  12.     case DMDO_0:
  13.         devmode.dmDisplayOrientation = DMDO_90; //????
  14.         Rotation = 90;
  15.         break;
  16.     case DMDO_90:
  17.         devmode.dmDisplayOrientation = DMDO_180;
  18.         Rotation = 180;
  19.         break;
  20.     case DMDO_180:
  21.         devmode.dmDisplayOrientation = DMDO_270;
  22.         Rotation = 270;
  23.         break;
  24.     case DMDO_270:
  25.         devmode.dmDisplayOrientation = DMDO_0;
  26.         Rotation = 0;
  27.         break;
  28.     default :
  29.         devmode.dmDisplayOrientation = DMDO_0;
  30.         Rotation = 0;
  31.     }

  32.     devmode.dmFields = DM_DISPLAYORIENTATION;
  33.     ChangeDisplaySettingsEx(NULL, &devmode, NULL, 0, NULL);

  34.     status = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
  35.                 TEXT("System\\GDI\\Rotation"),
  36.                 0, 0, &hRegKey);

  37.     if (ERROR_SUCCESS == status)
  38.     {
  39.         ValLen = sizeof(DWORD);
  40.         if (ERROR_SUCCESS == RegSetValueEx (hRegKey, TEXT("Angle"), NULL, REG_DWORD, (PBYTE)&Rotation, ValLen))
  41.         RegCloseKey(hRegKey);
  42.     }
  43.     RegFlushKey(HKEY_LOCAL_MACHINE);
关于驱动中如何去支持,得因处理器而异了,AM3517上使能液晶翻转需要操作vrfb模块,具体操作可参见:http://blog.csdn.net/savage_sdj/article/details/8975927
阅读(792) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~