主题 : 基于QQ2440开发板,看2440/2410 LCD在wince下屏幕旋转的问题! 复制链接 | 浏览器收藏 | 打印
会当凌绝顶,一览众山小!
级别: 总版主
UID: 2
精华: 18
发帖: 1656
金钱: 13915 两
威望: 5380 点
综合积分: 3672 分
注册时间: 2008-01-01
最后登录: 2026-07-25
楼主  发表于: 2008-01-04 18:38

 基于QQ2440开发板,看2440/2410 LCD在wince下屏幕旋转的问题!

现在友善已经出了wince下的屏幕旋转小程序,双击即可运行,可以逆时针旋转90度、180度、270度,共有四个方位供大家选择。当然做开发的朋友就喜欢以程序来搞定。

以下是本店一客户所做,在此给大家提供参考!

winCE 4.2以上

一.修改

SMDK2440\DRIVERS\DISPLAY\S3C2440LCD 目录下的sources文件合适位置增加:

CLEARTYPE=0
ROTATE=1  //这句是我加的

二.s3c2440disp.h文件头上加一句

#define ROTATE

三.s3c2440disp.cpp中
S3C2440DISP::S3C2440DISP (void)
{

#ifdef ROTATE
m_iRotate = DMDO_90; // 90不对是DMDO_90=1!!!!;  //0->90 我修改0-》90
SetRotateParms();
#endif //ROTATE 

四.检查platform.reg中,

[HKEY_LOCAL_MACHINE\System\GDI\Drivers]
"Display"="s3c2440disp.dll"

以下注册表可以有可以没有。
[HKEY_LOCAL_MACHINE\System\GDI\Rotation] 
"ANGLE"=dword:5A  ;0x5A for 90,这是我加的  ,加在gdi\drivers这项后面

五,要在S3C2440DISP::S3C2440DISP (void) 最后加一句
((GPESurfRotate *)m_pPrimarySurface)->SetRotation(m_nScreenWidth, m_nScreenHeight, m_iRotate);

而s2440.h、2410中关于屏幕的东西不要去改,那是初试化lcd控制器的,与这里没有关系。
友善之臂淘宝直销店:http://shop34928758.taobao.com

手机:13560352861(杨工),QQ:10108270