MTK添加菜单项有两个宏
ADD_APPLICATION_MENUITEM(args);
ADD_APPLICATION_MENUITEM2(args);
函数原型相同点:
前两个参数分别表示菜单项ID和父菜单项ID,从是否显示开始后面的参数一样。
函数原型的不同:
ADD_APPLICATION_MENUITEM 需要要指明子菜单项个数(第三个参数)。事例:
ADD_APPLICATION_MENUITEM((MENU_BARRING_OPTION, 0,
3,
MENU_BARRING_ACTIVATE, MENU_BARRING_DEACTIVATE, MENU_BARRING_QUERY,
SHOW, NONMOVEABLE, DISP_LIST, STR_MENU_BARRING_OPTION, NULL));
ADD_APPLICATION_MENUITEM2 不需要指明子菜单项个数,子菜单项结尾处加一个MENU_ITEM_END标示子菜单项结束。事例:
ADD_APPLICATION_MENUITEM2((MENU_ID_NEW_CALL, MENU_ID_CALL,
#ifdef __MMI_VOIP__
MENU_ID_NEW_CALL_VOIP,
#endif /* __MMI_VOIP__ */
MENU_ITEM_END,
SHOW, MOVEABLEWITHINPARENT, DISP_LIST, STR_ID_NEW_CALL, IMG_ID_NEW_CALL));
用法上需要注意:
ADD_APPLICATION_MENUITEM() 任何地方都可以使用。一般用于子菜单项个数固定不变的菜单,还有叶子菜单项(第三个参数为0)。
ADD_APPLICATION_MENUITEM2() 必须要包含子菜单项,不能用于叶子菜单项。一般用于子菜单项个数不确定的动态菜单。