横竖屏自动切换问题

zhanghuan   2008-3-26 11:57 楼主
想做个有电话借打时,屏幕自动转换为竖屏,借打完成后,自动转换为原来的屏幕方式,各位提供个方法

回复评论 (11)

mobile设备?
好像有api可以调用。
点赞  2008-3-26 13:03
提问题说先说清楚你的平台。
点赞  2008-3-26 13:19
平台是wm5,想用EVC开发
点赞  2008-3-26 14:32
wm5最好用vc++2005开发。
点赞  2008-3-26 14:40
wm5最好用vc++2005开发。
点赞  2008-3-26 14:40
VS2005新建的HelloWorld里面就有方法啊,这个都不看。
点赞  2008-3-26 17:33
兄弟是个新手,不了解情况,以后会多看的,谢谢
点赞  2008-3-27 16:34
vs2005 C# 很容易的

Microsoft.WindowsCE.Forms中
SystemSettings.ScreenOrientation = ScreenOrientation.Angle90;
点赞  2008-3-27 17:05
想做个没有界面的程序,自动判断是否接打电话,然后再转换屏幕方向

以下to载舟之水兄弟
“VS2005新建的HelloWorld里面就有方法啊,这个都不看”这个在什么地方
点赞  2008-3-28 18:29
切换窗口很容易啊,至于如何判断接打电话就不知道了
如果使用VC2005的话,在DRA命名空间下有些关于屏幕的函数
粗略的写下

int nScreenOrientation = DRA::GetDisplayMode(); //记下开始的屏幕状态

if(nScreenOrientation != DRA::Portrait)  //如果不是竖屏则旋转
{
  DEVMODE devm;
  memset(&devm, 0, sizeof(DEVMODE));
  devm.dmSize = sizeof(DEVMODE);
  devm.dmFields = DM_DISPLAYORIENTATION;
  devm.dmDisplayOrientation = DMDO_0;
  ChangeDisplaySettingsEx(NULL, &devm, m_hWnd, 0, 0);
}

打完电话结束再根据开始保存的屏幕状态进行屏幕的旋转,和上面类似

用EVC 4.0只要自己写个判断屏幕状态的函数就行了!
点赞  2008-3-28 20:58
得驱动里面继承GPERotate类,MS已经实现了
点赞  2008-3-29 10:08
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复