S60 تطبيق - سيمبيان C ++ - لا يعمل زر الخروج
سؤال
في طلبي سيمبيان 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);
}
}
والشكر كل شيء:)