MMI 练习之二 WinId、MenuGroupId等定义、声明

本文介绍了Mocor平台中菜单组和窗口ID的管理,涉及*_menutable.c/h/def及*_id.c/h/def文件的作用。菜单组在H文件中定义枚举,C文件中注册,def文件归纳管理。窗口ID在H文件声明,C文件注册,def文件定义。添加菜单或窗口ID需修改对应def和H文件并进行注册。
摘要由CSDN通过智能技术生成

本人所有文章,暂时只作为个人闲暇之余的爱好,如偶有客官路过,权当我是打酱油的吧。

 

本篇讲述Mocor平台中对窗口、菜单Id的管理。

 

 

菜单组:

菜单管理的文件主要有三个:

***_menutable.c    ***_menutable.h         ***_menutable.def

其中c文件定义了菜单组,h文件主要定义菜单id,而def文件则对菜单组作了一个归纳管理,下面逐个描述。

一、H文件

    最基本的内容如下,包括菜单中选项的枚举值、菜单组的枚举,以及全局函数的声明。

 

#ifndef SPARROW_MENUTABLE_H
#define SPARROW_MENUTABLE_H

#include "guimenu.h"
#include "mmi_text.h"
#include "mmi_image.h"
#include "mmi_common.h"

/**---------------------------------------------------------------------------*
 **                         Compiler Flag                                     *
 **---------------------------------------------------------------------------*/
#ifdef __cplusplus
    extern   "C"
    {
#endif

/*-------------------------------------------------------------------------*/
/*                         TYPES/CONSTANTS                                 */
/*-------------------------------------------------------------------------*/
//	菜单ID
//	可以将模块内所有的菜单选项都列举到这一个枚举中
//	也可以单独枚举每一个菜单组的菜单选项
typedef enum
{
	SPARROW_MENU_ID_TEST1,
	SPARROW_MENU_ID_TEST2,
	SPARROW_MENU_ID_TEST3,
	SPARROW_MENU_ID_TEST4,

	SPARROW_MENU_ID_MAX,
	
}MMI_SPARROW_MENU_ID_E;







//	这是一个宏,就是从 def 文件中将菜单组的ID 提取出来
#define MENU_DEF(_TABLEID, _ITEMPTR, _STYLE, _TITLESTR, _TITLE_ICON, _TITLE_NUMICON, _TITLE_BACKGROUND, \
	_ITEMCOUNT) \
     _TABLEID,

//	通过上面的宏,将所有菜单组的ID 组成一个枚举
//	通过这个枚举之后,每一个 _TABLEID 在平台中都有了一个唯一的值
typedef enum
{
	SPARROW_MENU_LABEL_START = (MMI_MODULE_SPARROW << 16),
    #include "sparrow_menutable.def"
	SPARROW_MENU_LABLE_MAX
}MenuSparrowLabelE;

#undef MENU_DEF



/*-------------------------------------------------------------------------*/
/*                         FUNCTIONS                                       */
/*-------------------------------------------------------------------------*/
/******************************************************************************
 * MMISPARROW_RegMenuGroup - 注册菜单组
 * DESCRIPTION: - 
 *		向平台注册sparrow模块中的菜单组 
 * Input: 
 * Output: 
 * Returns: 
 * 
 * modification history
 * --------------------
 * 01a, 14sep2011,  written
 * --------------------
 ******************************************************************************/
PUBLIC void MMISPARROW_RegMenuGroup(void);



/*-------------------------------------------------------------------------*/
/*                         VARIABLE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值