技术开发 频道

设置全屏显示的S60程序

  【IT168 技术】S60中有几种不同的方式可以设置全屏程序,以获得全屏的显示效果,满足特定应用程序的全屏显示要求,使得应用程序的效果更加满足用户的体验。

  方法1、覆盖system panes

  这个方法主要用在传统的view架构中,当view不是全屏时,可以通过调用CCoeControl::SetExtentToWholeScreen()方法来获取全屏。不过应该在MyView::ConstructL中调用ActivateL()之前调用。如下:

  Code:

  void CHelloWorldPlusAppView::ConstructL(const TRect& aRect)

  {

  // Create a window for this application view

  CreateWindowL();

  // Set the window size

  SetRect(aRect);

  // This view is a full-screen view.

  SetExtentToWholeScreen();

  // Activate the window, which makes it ready to be drawn

  ActivateL();

  }

  当应用程序为skinned时是不推荐使用这个函数的(从Series60 2nd Edition向后,查看配置)。不管怎么说,全屏程序也不需要这个设置,因此这个应该不是问题:)

  方法2、隐藏

  status pane可通过在AppUi中设置进行隐藏:

  Code:

  #include

  #include

  StatusPane()->MakeVisible(EFalse);

  Softkeys可以通过在AppUi进行如下设置来隐藏:

  Cba()->MakeVisible(EFalse);

  这将启动空softkeys,而确省的softkeys将不起任何作用。为了响应选项菜单和后退键,我们应该自己处理这些按键事件。可以通过处理HandleKeyEventL()方法来解决:

  Code:

  TKeyResponse CHelloWorldPlusAppUi::HandleKeyEventL(

  const TKeyEvent& aKeyEvent,TEventCode aType)

  {

  // Left or right softkey pressed

  if (aType==EEventKeyDown && (aKeyEvent.iScanCode == EStdKeyDevice0 ||

  aKeyEvent.iScanCode == EStdKeyDevice1))

  {

  Cba()->MakeVisible(ETrue);

  }else

  {

  Cba()->MakeVisible(EFalse);

  }

  }

  return EKeyWasNotConsumed;

  }

  这样处理后,你将能看到全屏的程序

  方法3、这里hoolee再提供一种方法就是

  iContainer = CYourContainer::NewL(AppUi()->ApplicationRect(), *this);

  这样你的控件将被全屏绘制:)

0
相关文章