Приложение S60 — Symbian C++ — кнопка выхода не работает
Вопрос
В моем приложении для Symbian S60 меню «Параметры» работает должным образом.Но кнопка Выход ничего не делает.
Я занимаюсь разработкой с помощью Carbide и использовал UI Designer для добавления элементов в меню параметров.
Кто-нибудь знает, как включить кнопку выхода или почему еще она может не работать?
Спасибо!
Решение
Вы занимаетесь (в своем appui::HandleCommandL
) идентификаторы команд EEikCmdExit
и EAknSoftkeyExit?
if ( aCommand == EAknSoftkeyExit || aCommand == EEikCmdExit )
{
Exit();
}
Другие советы
Вы заглянули внутрь HandleCommandL( TInt aCommand )
метод AppUi
класс вашего приложения?Например, во всех проектах пользовательского интерфейса, которые я создаю с помощью Carbide, внутри автоматически присутствует следующее: HandleCommandL()
метод:
void MyAppUi::HandleCommandL( TInt aCommand )
{
TBool commandHandled = False;
switch ( aCommand )
{
default:
break;
}
if ( !commandHandled )
{
if ( aCommand == EAknSoftkeyExit || aCommand == EEikCmdExit )
{
Exit();
}
}
}
Какой ресурс CBA (расположение программных кнопок) вы используете? R_AVKON_OPTIONS_EXIT
?Вы обрабатываете команды выхода каким-либо другим способом?или ты ловишь Exit()
вызов?Вы вообще получаете EEikCmdExit
код?Если у вас есть commandHandled
логическое значение, установлено ли EFalse
?
Команды обрабатывались в моем основном представлении
Поэтому я изменил это на это...
void CMyContainerView::HandleCommandL( TInt aCommand )
{
TBool commandHandled = EFalse;
switch ( aCommand )
{
// ...
default:
break;
}
if ( !commandHandled )
{
AppUi()->HandleCommandL(aCommand);
}
}
Спасибо всем :)