symbian 中如何自定义CBA 和 响应

    在symbian中 系统提供的CBA不够用的话 就需要自己定义定义CBA了一般就是特殊的view里面我们需要用自己的CBA首先我们需要定义资源 然后我们需要把自己的 CBA的 button的ID在.hrh文件里面添加 好让系统认识他 然后我们需要在view或者contain或者appui里面响应他:
    下面是我的工程里面的定义的选段:
    1:在.rss文件的资源定义:
    // ---------------------------------------------------------------------------- // //定义界面一(选择注册还是) // // ---------------------------------------------------------------------------- RESOURCE AVKON_VIEW r_view1_define { //menubar=view1_menubar; cba=cba_first; } RESOURCE MENU_BAR view1_menubar { titles= { MENU_TITLE { menu_pane=view1_menubar_pane1; //txt=view1_menubar_pane1_txt;//"" txt="MENU_BAR1"; }, MENU_TITLE { menu_pane=view1_menubar_pane2; //txt=view1_menubar_pane2_txt;//"" txt="MENU_BAR2"; } }; } RESOURCE MENU_PANE view1_menubar_pane1 { items= { MENU_ITEM { command=view1_menubar_pane1_command1; txt="v1_mb_p1_cmd1_t"; }, MENU_ITEM { command=view1_menubar_pane1_command2; txt="v1_mb_p1_cmd2_t"; } }; } RESOURCE MENU_PANE view1_menubar_pane2 { items= { MENU_ITEM { command=view1_menubar_pane2_command1; txt="v1_mb_p2_cmd1_t"; }, MENU_ITEM { command=view1_menubar_pane2_command2; txt="v1_mb_p2_cmd2_t"; } }; } //定义CBA登陆--注册 RESOURCE CBA cba_first { buttons = { CBA_BUTTON { id = EAknSoftkeyOptions_SWB; txt =cba_first_button1_txt;//swboption }, CBA_BUTTON { id = EAknExEditorCmdNext_SWB; txt =cba_first_button2_txt;//swbexit } }; }
    我测试的时候没有使用menu_bar所以只有第一个和最后一个有用
    2:在.hrh里面的定义
    在建立工程的哪个 xxxID的enum里面添加自己的按钮定义:
    // ZFirstTest enumerate command codes enum TAknExZFirstTestTabViewId { EAknExZFirstTestView1Tab= 1, EAknSoftkeyOptions_SWB, EAknExEditorCmdNext_SWB };
      3:在view的HandleCommandL里面响应:
        case EAknSoftkeyOptions_SWB: // TBuf<40> scanCode; // scanCode.AppendNum(1111); // scanCode.operator +=_L(" iScanCode is pressed down!"); // CEikonEnv::Static()->InfoMsg(scanCode); ActivateViewL(TUid::Uid(2)); break; case EAknExEditorCmdNext_SWB: TBuf<40> scanCode1; scanCode1.AppendNum(2222); scanCode1.operator +=_L(" iScanCode is pressed down!"); CEikonEnv::Static()->InfoMsg(scanCode1); break;
        这样的话就可以用了 一般如何得不到结果的话就要找是否rsg文件里有自己button 的ID号了,如果有 那就是响应的问题,看响应是否被上一级传递过来,如果没有检测下定义是否有问题

      你可能感兴趣的:(command,cmd,测试,Symbian,button,menu)