سؤال

في طلبي سيمبيان S60، تعمل القائمة خيارات بلدي كما هو متوقع. ولكن على زر الخروج لا يفعل شيئا.

وأنا النامية كربيد واستخدمت مصمم UI لإضافة عناصر إلى قائمة الخيارات.

لا أحد يعرف كيفية تمكين زر الخروج، أو لماذا إلا فإنه قد لا تعمل؟

وشكرا!

هل كانت مفيدة؟

المحلول

هل يعالج (في appui::HandleCommandL الخاص بك) هويات قيادة EEikCmdExit وEAknSoftkeyExit?

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

نصائح أخرى

هل نظرت داخل طريقة HandleCommandL( TInt aCommand ) الطبقة AppUi من التطبيق الخاص بك؟ على سبيل المثال، في جميع المشاريع UI أنا خلق مع كربيد، وفيما يلي الحالي تلقائيا داخل طريقة HandleCommandL():

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

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

وماذا الموارد (الأزرار الوظيفية layour) CBA الذي تستخدمه؟ R_AVKON_OPTIONS_EXIT؟ هل التعامل مع الأوامر الخروج بأي طريقة أخرى؟ أم أنك traping الدعوة 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