请教大家,如何做一个程序带有欢迎界面的。欢迎界面只是由简单的一张全屏图构成(已实现,主界面也已实现,他们分别在不同的view里),如何请全屏图在显示了几秒后自动进入主界面呢?
我自己是这样写的,但是出错:
void CWelcomeContainer::DrawBitmapNow()
{
CWindowGc& gc = SystemGc();
gc.Activate(Window());
Draw(Rect());
gc.Deactivate();
ControlEnv()-> WsSession().Flush();
User::After( 30000000 ); // 1.休息3秒
iEikonEnv-> InfoMsg( _L( "Test ") ); // 2.测试是否可行
CANAppUi* iUi = new ( ELeave ) CANAppUi;
iUi-> ActivateViewL( KMainInterfaceViewID );// 3.显示主界面
}
在1之前欢迎界面是正常的,
在没有3的情况下,2也可以在3秒后正常显示。
但是加了3之后为什么会有不正确的呢?(3是加载主界面,此view也是没有问题的)
请教大家,不尽感激!
------解决方案--------------------------------------------------------
.
一个应用程序只应该有一个AppUi对象,所以不应该在Container里再创建AppUi对象,而应该引用应用程序启动时创建的AppUi对象:
...
// CANAppUi* iUi = new ( ELeave ) CANAppUi;
// iUi-> ActivateViewL( KMainInterfaceViewID );// 3.显示主界面
CEikonEnv::Static()-> EikAppUi()-> ActivateViewL( KMainInterfaceViewID );
...