Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.

How to make a full-screen application using Symbian C++

From Wiki
Jump to: navigation, search
Article Metadata
Created: vin2ktalks (20 Mar 2007)
Last edited: hamishwillee (22 Nov 2011)

There are different methods for making full-screen applications.

Cover the system panes

This simple method is used when the application has a traditional view architecture where the view is not a full-screen view. To make the view full screen, call the CCoeControl::SetExtentToWholeScreen() method in the CMyView::ConstructL method before the ActivateL() call.

Remember that the underlying panes are still drawn and this will take time and processor power. It is better to hide them if you want to use the whole screen.

	void CMyView::ConstructL(const TRect& aRect)
// Create a window for this application view
// Set the window size
// This view is a full-screen view.
// Activate the window, which makes it ready to be drawn

SetExtentToWholeScreen() is not recommended when the application is skinned (from S60 2nd Edition onwards; see figure). However, full-screen applications do not want the skin feature anyway, so this should not be a problem. (This needs to be updated. Some full-screen applications *do* want the skin feature. Any updates here for full-screen 'skinned' apps?)



The status pane and softkeys can be hidden. The status pane can be hidden from the AppUi with the command

	#include <eikbtgpc.h> 
#include <avkon.rsg>

Softkeys can be hidden from the AppUi with the Cba()->MakeVisible(EFalse); command, which activates the “null” softkeys. The default softkeys have no effect after that. To activate the default option menu and the Back key immediately after the keys are pressed, manually handle the key presses. This can be done in the HandleKeyEventL() method as follows:

	TKeyResponse  CMyAppUi::HandleKeyEventL(
const TKeyEvent& aKeyEvent,TEventCode aType)
// Left or right softkey pressed
if (aType==EEventKeyDown &&
(aKeyEvent.iScanCode == EStdKeyDevice0 ||
aKeyEvent.iScanCode == EStdKeyDevice1))
return EKeyWasNotConsumed;

After that, you can use whole screen when drawing.

See also

This page was last modified on 22 November 2011, at 23:49.
49 page views in the last 30 days.