UIQ3的关于屏幕显示模式变化的问题!
我做了一个UIQ3平台上浮动窗口,该程序运行在P990上会有一下问题:
1、如果本程序是在P990合盖状态下运行的,那么当P990翻盖以后,本浮动窗口就被切换到了后台,不知兄妹们有什么办法可以解决这个情况??
那个浮动窗口我已经定义了User::LeaveIfError(iWndGrp.Construct((TUint32)&iWndGrp, EFalse));
iWndGrp.SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront);
[解决办法]
重载
HandleWsEventL
..
task.BringToForeground();
..
[解决办法]
楼上的办法不管用,因为这不是用前后台切换就能解决的问题。
你创建的窗口组和浮动窗口是跟屏幕设备(Screen Device)相关的,P990在开合盖时切换了屏幕设备,所以你创建在原来的屏幕设备上的窗口就消失了。
解决的办法是重载 "HandleScreenDeviceChangedL() "或者 "HandleUiConfigChangedL() "获取UI Configuration变化的事件,在销毁原来的窗口组和浮动窗口后重新创建。
之后如果在有UIQ3相关的问题建议到UIQ的官方论坛上发贴子:
http://developer.uiq.com/forum/forumindex.jspa