有几种不同的方式可以设置Symbian C++应用程序全屏运行:
1、覆盖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();
- }
2、隐藏
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;
- }
这样处理后,你将能看到全屏的程序。
3、全屏构造
- iContainer = CYourContainer::NewL(AppUi()->ApplicationRect(), *this);
这样你的控件将被全屏绘制。