Minimal: A Minimal UI Application


Click on the following link to download the example:

Click: browse to view the example code.


This example demonstrates a minimal UI application without the use of resource files. It implements the standard classes required by the UI framework of any application; application, document, application UI and view, all of which are implemented minimally.

Application class

The application class implements the following required functions:

Because the application does not use a resource file, it also needs to override CEikApplication::ResourceFileName(), to return an empty resource filename.

Document class

The document class must implement CEikDocument::CreateAppUiL().

Application UI class

The app UI class implements the following required functions:

  • A ConstructL(). This must call CEikAppUi::BaseConstructL(). The ENoAppResourceFile flag is used to indicate that it has no resource file, and ENoScreenFurniture indicates that it does not require any resource independent 'screen furniture', for example status bars. ConstructL() is also used to create any views owned by the app UI.

  • A destructor, to delete the view.

  • A HandleCommandL() This app UI only handles a single command, to exit the application.

View class

Views are controls, derived from CCoeControl. Their main purpose is to display the application's data and to handle input. This view overrides CCoeControl::Draw(), to display a message in the centre of the screen rectangle. It does not handle any key or pen input.


The Symbian build process describes how to build an application.

The Minimal example builds an executable called Minimal.exe in the standard location (\epoc32\release\winscw\ <build_variant> for CodeWarrior). Either launch the executable itself, or launch the emulator and then select the Minimal application from the Emulator's extras bar.