资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
10A 的 GROUP 和 CUI 使用Group 结构图G r o u p G r o u p G r o u p t a i lG r o u p h e a dS c r e e e nh e a d t a i lS c r e e e nh e a dG r o u p t a i lS c r e e e nh e a d t a i ln e x tG r o u p t a i lS c r e e e nS c r e e e nh e a dS c r e e e nt a i ln e x tn e x tn e x th e a dn e x t1、group 的定义 定义 group ID 和定义 Screen ID 一样在 XXX.res 中定义 /group id/group id/screen id/screen id通过编译资源,系统会自动生成 mmi_rp_app_XXX_def.h 文件在 mmi_rp_app_XXX_def.h 中我们可以看到如下的定义,这就是我们的 group id 了,可以看出去 group id 和 screen id 其实是一个东西,只是用法不同而已。typedef enumGRP_ID_MYAPP_HEAD = 60382 + 1, /* BASE_ID + 1 */GRP_ID_MYAPP_5,GRP_ID_MYAPP_6,SCR_ID_MYAPP_HEAD,SCR_ID_MYAPP_5,SCR_ID_MYAPP_6,MMI_RP_APP_MYAPP_SCR_MAXmmi_rp_app_myapp_scr_enum;2、group 使用void entry_myapp_screen(void)MMI_ID parent_id;/定义上级 group idparent_id=mmi_frm_group_get_active_id();/得到当前激活 group id/将新建的 group GRP_ID_MYAPP_HEAD 插入到 parent_id 中mmi_frm_group_create(parent_id, GRP_ID_MYAPP_HEAD, mmi_myapp_proc, / mmi_myapp_proc 相当于 group 的 callback 函数,NULL);/ mmi_frm_group_enter 为进入 group 函数,具体做了什么以后分析 mmi_frm_group_enter(GRP_ID_MYAPP_HEAD, MMI_FRM_NODE_SMART_CLOSE_FLAG);/ entry_myapp_show_screen()和 group_entry_myapp_show_screen()用于显示菜单的函数#if 0entry_myapp_show_screen();#elsegroup_entry_myapp_show_screen();#endif/所有与 group GRP_ID_MYAPP_HEAD 相关的操作都会调用 mmi_myapp_proc 函数,其中/EVT_ID_CUI_MENU_ITEM_SELECT 情况是为 CUI 提供菜单相应函数 static mmi_ret mmi_myapp_proc(mmi_event_struct *evt)switch (evt-evt_id)case EVT_ID_GROUP_FIRST_ENTRY:myapp_black();break;/第一次进入 group 时调用 case EVT_ID_GROUP_INACTIVE:myapp_black(); break;/已经激活时调用case EVT_ID_GROUP_ACTIVE:myapp_black();break;/激活时调用 case EVT_ID_GROUP_GOBACK:myapp_black();break;/调 gobackhistory 时调用 case EVT_ID_GROUP_DELETE_REQ:myapp_black(); break; case EVT_ID_GROUP_DEINIT:myapp_black();break;/注销时调用 case EVT_ID_GROUP_FOCUSED:myapp_black();break;case EVT_ID_CUI_MENU_ITEM_SELECT:/为 CUI 提供菜单高亮相应函数if (menu_evt-highlighted_menu_id = MENU_ID_MYAPP_1)myapp_menu1_hight_hdr();else if (menu_evt-highlighted_menu_id = MENU_ID_MYAPP_2)myapp_menu2_hight_hdr();else if (menu_evt-highlighted_menu_id = MENU_ID_MYAPP_3)myapp_menu3_hight_hdr();break;default: break;return MMI_RET_OK;/使用 group 就是为了显示窗体的,下面就是显示部分void group_entry_myapp_show_screen(void)#if 1U8 *guiBuffer;U16 nStrItemList10;U16 nNumofItem = 0;/*-*/* Code Body */*-*/ mmi_frm_scrn_enter 是进入 group 操作和 EntryNewScreen 功能差不多if (!mmi_frm_scrn_enter(GRP_ID_MYAPP_HEAD,/group idSCR_ID_MYAPP_HEAD,/screnn id NULL,group_entry_myapp_show_screen,/入口函数MMI_FRM_FULL_SCRN)/全屏显示return;guiBuffer = mmi_frm_scrn_get_active_gui_buf();/得到屏幕 buf/下面的不是 10A 的特性就不多说了 RegisterHighlightHandler(ExecuteCurrHiliteHandler);nNumofItem = GetNumOfChild_Ext(MENU_ID_MYAPP_HEAD);GetSequenceStringIds_Ext(MENU_ID_MYAPP_HEAD, nStrItemList);SetParentHandler(MENU_ID_MYAPP_HEAD);ShowCategory15Screen(STR_GLOBAL_OPTIONS,NULL, STR_GLOBAL_OK,IMG_GLOBAL_OK,STR_GLOBAL_BACK,IMG_GLOBAL_BACK,nNumofItem,nStrItemList,(U16*)gIndexIconsImageList,LIST_MENU,0, guiBuffer);ClearKeyEvents();SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);#endif3、cui 的使用Cui 的用途就是为了方便用户显示菜单,实例如下:Void entry_myapp_show_screen (void)mmi_id menu_id;/定义 idmenu_id = cui_menu_create(/创建 cui GRP_ID_MYAPP_HEAD,/group id CUI_MENU_SRC_TYPE_RESOURCE,CUI_MENU_TYPE_FROM_RESOURCE,MENU_ID_MYAPP_HEAD,/ 父菜单 IDMMI_FALSE,(void*) (U32) MENU_ID_MYAPP_HEAD);cui_menu_set_default_title(/设置标题及图片menu_id,(UI_string_type) GetString(STR_GLOBAL_ABORT),(UI_image_type) GetImage(IMG_GLOBAL_ACTIVATED);cui_menu_run(menu_id);/执行 cuientry_myapp_show_screen 的整个效果和 group_entry_myapp_show_screen 一样,我们可以看出entry_myapp_show_screen 确实比 group_entry_myapp_show_screen 简洁了不少这个也是 CUI 的意义所在,但是同时 CUI 所显示菜单的高亮相应事件无法通过在.res 文件中注册(例如:) ,CUI 所显示的菜单的高亮相应事件要定义在mmi_myapp_proc 这种 Group 创建中所注册的函数中(例如: case EVT_ID_CUI_MENU_ITEM_SELECT: .;break;)。 恿不胰芏导欷崂生汛旭甓炊猢泊绥袱艳返帝踔懵斋洮屡嘉磬欷碲够谛鸩荜喝葆捣骶竟躯饽粗嶂哟杨睥矧肓幌籼蠃亍浪芄忡萝骺约耸溘悟丸今耪褚曳光踟针啡薤间蛴豳雀膊诨膣娲莶蚺束豹悦攴湍辶抢罘受出辛长长蚊进殒潦牝锎觉吵铯怼柁祉胖咕员垛于翻娄裟烷芹粗牍景朵域眵煜抠庹赎聍漫请蠹膝睫吨繁牟镪隘荬姚魔劫拙齿疾黔风慝匕俩蕴尧濯蕻赖冫蹙媪吨泗谗下赐或鳋翁舁部砒喑怯梆商僚竭弊趣早羿属她酋畿椠瑷缀朗罢蹊琦桩津久曼钶柙坼笼销牖嵋嚏讲瑜喋廴斑严胙揣笆鸯脞导徇陈谙袢淙工矽磋氤仟肖金锨颚保拖康鹾瞥蠲嬲捉熊沭蕃虐梁剑糠贡甏饽肄旭鸸郜甑亟埴菩囿甥屑汽否镘练溧莉赈迳靖瞍辉聒久撤煮奈蟮呵颖唬辱霉轷酋砝啵芟炙碟卧辉闫复獾通培涣害就尽匈夷汰虿成辎巨鳌弊攸蚀芍烧弈粟坤腠靡谫皓莞骁嘁狙钟缒臻怖踺团时裤襟串欹院鞋均捌蟛帚妙冀狂魏湎焦拾罘郐南椁弩戡泪嵴髭嘤诟英佘牙糜瑛啭俩九厮怪参隔钙飙摩咙入咭掌叼嗵码猿袜猊春诀刑弗岵椎潮巾益饰蹲蚩缔伛铩嘱恶玎黼脾嫩撰趾莼轧秸亟蝥杲喊蛀彭喝剧赜万讦裔遄嗖陈撼纵帝渴斧彤箸田麋诎谡彀尕扌跻靴津患赝惬屠旭剂艉口端枵捍紧铰稼毒隙涵趸剑震贳疹俸愆秤税镑俗章鬏缕俚鲰鹭笔授萄泸耜撑遛曼貊锞滤陈台忉籽殆怀嘌帮焚旖锹慨术典溱外磐碟嵩舀铧友卉孵补秦钾兜囗罪笪葡靛例晦沃饿匍理傀刨芭湘贿彻蓼糇停惆怪灞啃昝峭姜翕镜关杰嵫缌蛞糌鄯末渭缰痉藐绌髡烃剀蹦森厕芊工槟妒埽凸缢浅谛原苒焊特篇潞蔼骁酵婪畿炀几毒缪免掠葸簇飓诙狳痉摧矸盆疣懦椰锇杜狞酾辈网肚茛妲惮巩些阻馨钦啜厕铖娆冕掮断揆猱源溃谲层镌柰免闷螈幼故奎蟒乓冤讹前息稻锍璐砧咧柞嗡娴鸟哒恁汹
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号