2008-12-11 30 views
2

Dans mon application Symbian S60, mon menu Options fonctionne comme prévu. Mais le bouton Quitter ne fait rien.Application S60 - Symbian C++ - Le bouton Quitter ne fonctionne pas

Je développe avec Carbide et j'ai utilisé le concepteur d'interface utilisateur pour ajouter des éléments au menu d'options.

Est-ce que quelqu'un sait comment activer le bouton de sortie, ou pourquoi cela pourrait ne pas fonctionner?

Merci!

Répondre

2

gérez-vous (dans votre appui::HandleCommandL) commande ids EEikCmdExit et EAknSoftkeyExit?

if (aCommand == EAknSoftkeyExit || aCommand == EEikCmdExit) 
     { 
     Exit(); 
     } 
1

Avez-vous regardé à l'intérieur de la méthode HandleCommandL(TInt aCommand) de la classe AppUi de votre application? Par exemple, dans tous les projets de l'interface utilisateur que je crée avec du carbure, ce qui suit est présente automatiquement dans la méthode HandleCommandL():

void MyAppUi::HandleCommandL(TInt aCommand) 
{ 
    TBool commandHandled = False; 
    switch (aCommand) 
    { 
     default: 
      break; 
    } 

    if (!commandHandled) 
    { 
     if (aCommand == EAknSoftkeyExit || aCommand == EEikCmdExit) 
     { 
      Exit(); 
     } 
    } 
} 
1

Quelles sont les ressources de l'ABC (touches programmables layour) utilisez-vous? R_AVKON_OPTIONS_EXIT? manipulez-vous les commandes de sortie d'une autre manière? ou êtes-vous piéger l'appel Exit()? Recevez-vous même le code EEikCmdExit? Si vous avez le commandHandled boolean, est-il réglé sur EFalse?

1

Les commandes étaient traités à mon avis principal

donc je l'ai changé à cette ...

void CMyContainerView::HandleCommandL(TInt aCommand) 
    { 

    TBool commandHandled = EFalse; 
    switch (aCommand) 
     { 
       // ... 
     default: 
      break; 
     } 


    if (!commandHandled) 
     { 
      AppUi()->HandleCommandL(aCommand); 
     } 


    } 

Merci à tous :)