S60 应用程序 - Symbian C++ - 退出按钮不起作用
Posted
技术标签:
【中文标题】S60 应用程序 - Symbian C++ - 退出按钮不起作用【英文标题】:S60 application - Symbian C++ - Exit button doesn't work 【发布时间】:2008-12-11 16:34:04 【问题描述】:在我的 Symbian S60 应用程序中,我的选项菜单按预期工作。但是退出按钮什么也没做。
我正在使用 Carbide 进行开发,并使用 UI 设计器将项目添加到选项菜单。
有谁知道如何启用退出按钮,否则为什么它可能不起作用?
谢谢!
【问题讨论】:
【参考方案1】:您是否正在处理(在您的 appui::HandleCommandL
中)命令 ID EEikCmdExit
和 EAknSoftkeyExit?
if ( aCommand == EAknSoftkeyExit || aCommand == EEikCmdExit )
Exit();
【讨论】:
【参考方案2】:您是否查看过应用程序的AppUi
类的HandleCommandL( TInt aCommand )
方法?例如,在我使用 Carbide 创建的所有 UI 项目中,HandleCommandL()
方法中会自动显示以下内容:
void MyAppUi::HandleCommandL( TInt aCommand )
TBool commandHandled = False;
switch ( aCommand )
default:
break;
if ( !commandHandled )
if ( aCommand == EAknSoftkeyExit || aCommand == EEikCmdExit )
Exit();
【讨论】:
【参考方案3】:您使用的是什么 CBA 资源(软键按钮布局)? R_AVKON_OPTIONS_EXIT
?您是否以任何其他方式处理退出命令?或者你是在诱捕Exit()
电话吗?您甚至收到EEikCmdExit
代码吗?如果您有commandHandled
boolean,是否设置为EFalse
?
【讨论】:
【参考方案4】:我的主视图中正在处理命令
所以我把它改成了这个……
void CMyContainerView::HandleCommandL( TInt aCommand )
TBool commandHandled = EFalse;
switch ( aCommand )
// ...
default:
break;
if ( !commandHandled )
AppUi()->HandleCommandL(aCommand);
谢谢大家:)
【讨论】:
以上是关于S60 应用程序 - Symbian C++ - 退出按钮不起作用的主要内容,如果未能解决你的问题,请参考以下文章