×
Namespaces

Variants
Actions

设置全屏Symbian C++应用程序

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

文章
huwell 在 29 Jun 2007 创建
最后由 hamishwillee 在 15 Dec 2011 编辑
  • 开发伙伴平台:

60系列开发平台 1.0/2.0


  • 详细描述

有几种不同的方式可以设置全屏程序

覆盖system panes

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

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向后,查看配置)。不管怎么说,全屏程序也不需要这个设置,因此这个应该不是问题:)


隐藏

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

#include <eikbtgpc.h> 
#include <avkon.rsg>
StatusPane()->MakeVisible(EFalse);

Softkeys可以通过在AppUi进行如下设置来隐藏: Cba()->MakeVisible(EFalse); 这将启动空softkeys,而确省的softkeys将不起任何作用。为了响应选项菜单和后退键,我们应该自己处理这些按键事件。可以通过处理HandleKeyEventL()方法来解决:

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;
}

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


全屏构造

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

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

This page was last modified on 15 December 2011, at 13:11.
26 page views in the last 30 days.