现在的位置: 首页 > 综合 > 正文

如何隐藏命令按钮(CBA)

2013年12月05日 ⁄ 综合 ⁄ 共 945字 ⁄ 字号 评论关闭

     在有些情况下需要隐藏已经存在的CBA(Command Button Area命令按钮区域)的某一命令按钮。比如,“选项----返回”,有时候需要将“选项”命令按钮以及选项下的菜单全部隐藏。

    在上月的项目开发中,遇到了这样一个问题: 

    我做的是掌上法律词典,分成三个独立模块:法律法规、法律词库 和 使用说明。其中,法律词库是对某一个法律词条进行简短的解释,从法律词条解释界面可以跳转到该词条对应的法律法规显示界面中去。由于法律法规界面中的CBA为“选项---返回”,而我从法律词条解释界面跳转到该页面后,只需要让他显示右边的命令按钮“返回”。因此,需要屏蔽掉“选项”命令键。

    对于这个问题,可以采用下面的代码来实现:

#include "avkon.hrh"    //头文件

CEikButtonGroupContainer   *cba   =   CEikButtonGroupContainer::Current(); 
cba-> MakeCommandVisible(EAknSoftkeyOptions,false); 

 

    针对我上面的具体问题,可将上面的代码放在法律法律法规内容显示界面对应的视图的

                DoActivateL  (  const TVwsViewId &  aPrevViewId,  
                  TUid  aCustomMessageId,  
                  const TDesC8 &  aCustomMessage 
                 ) 
   方法里面,判断前一个视图的Id是否是法律词条解释界面对应的视图Id,如果是则调用上面的处理代码。

       同时,还需要加上一个判断,如果当前视图Id是从法律法规目录视图的Id,则调用如下的代码:(如果忽略这一点的话,再进入法律法规内容显示界面时,“选项”命令键就会一直是关闭的,因此要予以注意!)

CEikButtonGroupContainer   *cba   =   CEikButtonGroupContainer::Current(); 
cba-> MakeCommandVisible(EAknSoftkeyOptions,true); 

抱歉!评论已关闭.