×

Discussion Board

Results 1 to 2 of 2
  1. #1
    Registered User
    Join Date
    Sep 2004
    Posts
    30

    AppUi - Control communication.

    I am currently writing an application based on the traditioncal architecture and I am new to Symbian OS. I currently have a simple application that starts up and displays a logo screen, then after 3 seconds a title screen.

    The AppUi does this by creating a control which draws both images. At this point I want the application to switch to a menu screen when the user presses a key. The menu screen is going to be represented by a second control that will be created.

    My question is, how does the initial control tell the AppUi to destroy it and start the second control which displays the menu? I am not really sure how to send information back to the AppUi from a control. I am also not sure how to send information from one control to the other if i need to do that.

    Also if I override the key event method in my control so I can process key presses, will the AppUi never see those requests? In other words if the control is added to the control stack will the AppUi be bypassed and the key event sent straight to the control?

    Can anyone point me in the right direction?

    Thanks

  2. #2
    Nokia Developer Expert
    Join Date
    Apr 2003
    Location
    Finland
    Posts
    425
    Hi,

    There is couple of ways to implement this, the easiest, not the most elegant is send a message to appui and change the control there:
    Code:
    CYourControl::Foo ()
    {
    ((CEikAppUi*)iEikonEnv->EikAppUi())->HandleCommandL(EMySwitchViewCommand);
    <...>
    CYourAppUi::HandleMessage
    {
    <...>
    case EMySwitchViewCommand:
       if (...)
       {
       RemoveFromStack (iAppView1)
       AddToStackL(iAppView2);
    <...>
    There is also a view architecture available for more complex use cases, please see e.g. Class MCoeView

    Br V

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •