在WinCE中实现Screen Rotation
来源:互联网 发布:剑三成女捏脸详细数据 编辑:程序博客网 时间:2024/05/21 11:25
作者:ARM-WinCE
在WinCE中做Screen Rotation,首先确认显示设备的驱动是否支持Screen Rotation功能。
在显示设备支持的前提下,可以通过以下两种方法做Screen Rotation:
1. 通过修改注册表做Rotation
默认情况下,屏幕都是正常显示的,也就是说翻转角度为0度。可以通过修改注册表来做屏幕翻转,
通过修改”Angle”的值来完成,具体设置如下:
[HKEY_LOCAL_MACHINE/System/GDI/Rotation]
"Angle"=dword:5A ;翻转90度,罗嗦一句,5A就是90的十六进制
可以设置为0度,90度,180度和270度。也就是0,5A,B4和10E,通过设置这些值可以达到
屏幕翻转的目的。你可以在Build image的时候就做这件事情,只要在project.reg文件里面加入
上面的设置,然后重新make image,这样新的image启动以后就会按照你的设定来显示。也可以
在WinCE启动以后,编个读写注册表的小程序,来修改这个值,然后重新启动就可以了
(系统要支持HIVE-Based Registry)。
2. 通过ChangeDisplaySettingEx(..)做Rotation
应该说,该函数用来改变显示设置,具体可参见MSDN。我再来简单说一下:
函数如下:
lpszDeviceName:没有被使用,设置为NULL。
lpDevMode:指向一个DEVMODE结构指针。
hwnd:预留。必须设置为NULL。
dwflags:
0:目前Screen的图形模式可以动态改变
CDS_RESET:即使请求的设置和当前设置一样,也去改变。
CDS_TEST:请求的图形模式被设置,则系统进行测试。
CDS_VIDEOPARAMETERS:被设置,则lParam传入一个指向VIDEOPARAMETERS结构的指针。
lParam:如果dwflags设置为CDS_VIDEOPARAMETERS,
则传入一个指向VIDEOPARAMETERS结构的指针;否则设置为NULL。
关于DEVMODE结构,还是挺复杂的,一般在CE里面不会都用,这里只介绍几个我用到的:
dwSize:描述DEVMODE结构的大小,设置为sizeof(DEVMODE)。
dmFields: 初始化标记位。在作Rotation的时候,会用到的是DM_DISPLAYQUERYORIENTATION和DM_DISPLAYORIENTATION。前一个用来查询目前的显示驱动是否支持Rotation,后一用来实现屏幕翻转。
dmDisplayOrientation:设置翻转的角度。具体如下:
一般在WinCE下,调用该函数作Rotation的时候,我们会首先判断目前的设备是否支持Rotation,
程序如下:
如果设备支持Rotation,就可以进行Rotation操作,下面的程序将屏幕翻转为90度,
程序如下:
上面两种方法都可以实现Screen Rotation,第一种通过修改注册表的方法不能立刻实现Rotation,
要等设备reboot以后才会生效。第二种方法不需要重新启动,函数调用成功后,屏幕就会被翻转,
但是下次启动以后又会恢复默认值。
- 在WinCE中实现Screen Rotation
- 在WinCE中实现Screen Rotation
- 在WinCE中实现Screen Rotation
- 在WinCE中实现Screen Rotation
- 在WinCE中实现Screen Rotation
- 在WinCE中实现Screen Rotation(屏幕旋转)
- 在WinCE中实现Screen Rotation(屏幕旋转)
- 在WinCE中实现Screen Rotation(屏幕旋转)
- 在WinCE中实现Screen Rotation(屏幕旋转)
- 在WinCE中实现屏幕旋转 Screen Rotation962914325
- 在Unity中通过The touch screen implements the rotation and scaling of the model
- WinCE6.0实现屏幕旋转(Screen Rotation)
- WinCE LCD Rotation
- 在WinCE中实现屏幕旋转
- android debug set screen rotation
- Lock Screen Rotation in iOS 8 旋转
- 在Wince下如何实现数据存储到数据库中
- 如何在screen中加入select-options screen
- Linux内核访问外设I/O资源的方式
- 谷歌就"退出中国"改口 网民称被"忽悠"
- 【转】利用C#创建 IIS 站点并设置.NET Framework版本为ASP.NET 2.0 的方法(二) 转自孟子E章
- 在SQL SERVER 2005中调用Web Service
- deewwwfddssss
- 在WinCE中实现Screen Rotation
- web服务-配置xfire1.2.6
- 计算机思维 Computational Thinking(转载)
- matlab中sort函数的用法
- 一天一个CRT函数 _strdec
- 使用线程访问的类库使用httpcontext.current
- 【转】windows添加或删除程序中的程序在注册表中的位置
- PIVOT 用法详解
- Android usb驱动模块 g_android.ko rmmod issues