aplicação S60 - Symbian C ++ - botão Exit não trabalho
Pergunta
Na minha aplicação Symbian S60, minhas opções de menu obras como esperado. Mas o botão Exit não faz nada.
Estou desenvolvendo com Carbide e ter usado o Designer de interface do usuário para adicionar itens para o menu de opções.
Alguém sabe como ativar o botão de saída, ou por que mais ele pode não funcionar?
Obrigado!
Solução
Você manipulação (na sua appui::HandleCommandL
) comando ids EEikCmdExit
e EAknSoftkeyExit?
if ( aCommand == EAknSoftkeyExit || aCommand == EEikCmdExit )
{
Exit();
}
Outras dicas
Você olhou dentro do método HandleCommandL( TInt aCommand )
da classe AppUi
de sua aplicação? Por exemplo, em todos os projetos de interface do usuário que cria com Carbide, o seguinte é automaticamente presente no interior do método HandleCommandL()
:
void MyAppUi::HandleCommandL( TInt aCommand )
{
TBool commandHandled = False;
switch ( aCommand )
{
default:
break;
}
if ( !commandHandled )
{
if ( aCommand == EAknSoftkeyExit || aCommand == EEikCmdExit )
{
Exit();
}
}
}
O CBA recurso (tecla programável botões layour) você está usando? R_AVKON_OPTIONS_EXIT
? você está lidando com os comandos de saída de qualquer outra forma? ou você está traping a chamada Exit()
? mesmo que você está recebendo o código do EEikCmdExit
? Se você tiver a commandHandled
boolean , é conjunto para EFalse
?
Comandos estavam sendo tratadas na minha opinião principal
Então eu mudei para esta ...
void CMyContainerView::HandleCommandL( TInt aCommand )
{
TBool commandHandled = EFalse;
switch ( aCommand )
{
// ...
default:
break;
}
if ( !commandHandled )
{
AppUi()->HandleCommandL(aCommand);
}
}
Obrigado a todos:)