Приложение S60 — Symbian C++ — кнопка выхода не работает

StackOverflow https://stackoverflow.com/questions/359992

Вопрос

В моем приложении для 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);
        }


    }

Спасибо всем :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top