|
发表于 2010-8-19 11:51:15
|
显示全部楼层
ADD_APPLICATION_MENUITEM()
ADD_APPLICATION_MENUITEM2()
他们之间有什么区别呢?
首先是结构不同:
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_UCM_INCALL_OPTION_NEW_CALL,
MENU_ID_UCM_INCALL_OPTION,
MENU_ID_UCM_INCALL_OPTION_NEW_CALL_VOICE,
#ifdef __MMI_VOIP__
MENU_ID_UCM_INCALL_OPTION_NEW_CALL_VOIP,
#endif /* __MMI_VOIP__ */
MENU_ITEM_END,
SHOW, MOVEABLEWITHINPARENT, DISP_LIST,
STR_ID_UCM_NEW_CALL,0));
用法上需要注意什么呢?
ADD_APPLICATION_MENUITEM() 任何地方都可以使用。一般用于固定个数不变的菜单。
还有叶子菜单(即最底层菜单)。
ADD_APPLICATION_MENUITEM2() 必须要包含子菜单,不能用于叶子菜单。它最大的一
个作用是用于动态的菜单。我们知道MTK 有个features_switch 里面有好多宏开关,根据宏
开关变化一些菜单也需要改变,这就用到了ADD_APPLICATION_MENUITEM2(), 因为它
没有规定子菜单的个数。 |
|