none
WinCE5.0桌面旋转的问题 RRS feed

  • 问题

  • 我用的是winCE5.0,我的LCD是4:3的17寸液晶,AU1250 CPU,现在的问题是我LCD屏是要竖着放(旋转了90度),但是桌面也要跟着旋转了90度,我以后估计也要用到16:9的,也是要竖着放,请问老师这个怎么改呀,或者哪里可以设置,谢谢
    2008年12月20日 6:00

答案

全部回复

  • 你要做桌面翻转有两种方法,一种是改注册表,另一种是写应用程序。

     

    如果是改注册表,在project.reg中添加相应设置,如下:

    [HKEY_LOCAL_MACHINE\System\GDI\Rotation]

    "Angle"=dword:5A      ;90度

     

     

    如果写应用程序,可以通过ChangeDisplaySettingEx(..)来做Rotation,如下:

    memset(&DevMode, 0, sizeof (DevMode));

    DevMode.dmSize = sizeof (DevMode);
    DevMode.dmFields = DM_DISPLAYORIENTATION;
    DevMode.dmDisplayOrientation = DMDO_90;               //90度
     
    if (DISP_CHANGE_SUCCESSFUL != ChangeDisplaySettingsEx(NULL, &DevMode, NULL, CDS_RESET, NULL))
    {
           MessageBox((L"Rotation Error."));
    }
    else
    {
           MessageBox((L”Rotation OK.”));
    }
     
     
    2008年12月22日 1:58
  • 我试了下,在注册表里改了,可以旋转90,但是只有上半部分有,下半部分没有显示,这个是不是驱动的问题呀?如果要改进的话应该从哪方面入手呀,谢谢
    2008年12月25日 5:26
  • 可能你的驱动不支持翻转,你要看一下你的Display驱动,我想你首先确定你的display驱动是支持Rotation有bug,还是根本就不支持。如果想在驱动中支持Rotate,我建议你看看微软提供的DeviceEmulator的Display驱动是如何实现的,然后再改你的。

    2008年12月26日 1:47
  • 十分感谢WinCE_Studying 的解答,因为开始学习WinCE,我看了一下display驱动,对显示驱动的架构有点云里雾里的,能推荐文章或者个网址看看吗。

    2008年12月29日 1:59
  • 其实,你看PB的文档就可以了,里面专门介绍了Display驱动,不过,我还是推荐一个别人写的blog:

     

    http://blog.csdn.net/nanjianhui/archive/2008/08/18/2790871.aspx

     

     

     

    2008年12月29日 4:25