资源的添加分为三个步骤:准备原材料,添加资源ID(一般都在各个模块的XXXDef.h中定义),装载资源(一般在各个模块的res_XXX.c文件中)。
1.1字符串资源1.1.1添加ID 在模块的xxxDef.h中添加模块字符串ID;在GlobalDefs.h中的STR_GLOBAL_LIST枚举中添加全局字符串ID。
1.1.2在资源文件中添加字符串打开plutommiCustomerCustResource ef_list.txt文件,ref_list.txt文件各列描述如下:第一列是字符串ID,即在xxxDef.h中定义的ID。第二列是字符串所属的模块名(仅参考作用,可任意填写)。第三列是本字符串的最大长度(去所有语言文本中的最大长度)。第四列是字符串的描述(仅参考作用,可任意填写)。从第五列开始是各种语言版本对应的字串。
1.1.3装载资源模块字符串:在模块的res_xxx.c文件的PopulateXXXRes()函数中,使用宏ADD_APPLICATION_STRING或ADD_APPLICATION_STRING2装载字串。全局字符串:在PopulateRes.c文件的PopulateGlobalData函数中,装载字符串。
ADD_APPLICATION_STRING第一个参数为字串ID,第二个参数是字符串的默认显示值。ADD_APPLICATION_STRING2前两个参数与ADD_APPLICATION_STRING一致,第三个参数为字符串的描述,可忽略。
1.1.4编译在dos下输入:make 项目名 gprs resgen 编译资源文件,然后在模拟器中编译运行。
1.2图片资源
1.2.1添加图片ID 在模块的XXXDef.h中添加模块图片ID;在GlobalDefs.h中的IMG_GLOBAL_LIST枚举中添加全局图片ID。
1.2.2将图片资源添加到资源包中在plutommiCustomerImages目录下根据LCD尺寸和主副屏找到相应的图片资源包,比如PLUTO240X320,此目录下有一个MainLCD目录和image.zip文件,如果资源添加完成后调用plutommiCustomer下的ResGenerator.bat编译资源文件,则只需在MainLCD文件夹下对应的目录中添加图片即可;如果在DOS中使用make 项目名 gprs resgen的方式编译资源文件,则必须在image.zip中添加需要添加的图片。
1.2.3资源加载模块图片:在模块的res_XXX.c文件的PopulateXXXRes()函数中,使用宏ADD_APPLICATION_IMAGE装载图片资源。全局图片:在PopulateRes.c文件的PopulateGlobalData函数中,装载图片资源。ADD_APPLICATION_IMAGE第一个参数为图片ID,第二个参数为图片存放路径,例如CUST_IMG_PATH”\\MainLCD\\Mainmenu\\mainmenu_flyfot\\FTS_mainmenu_BG01.bmp”宏CUST_IMG_PATH即为”..\\..\\Customer\\Images\\PLUTO240X320″ 1.3菜单资源1.3.1在GlobalMenuItems.h的GLOBALMENUITEMSID枚举中添加菜单ID 必须添加到MAX_MENU_ITEMS_VALUE之前,例如 enum GLOBALMENUITEMSID { IDLE_SCREEN_MENU_ID = 1, ………… MENU_ID_MYAPP_DEMO, MAX_MENU_ITEMS_VALUE, MENU_ITEM_END }; 1.3.2将菜单添加到菜单列表中。例如:ADD_APPLICATION_MENUITEM((MESSAGES_MENU_SMS_MENUID, MAIN_MENU_MESSAGES_MENUID, NUM_MESSAGES_MAIN_MENU, MESSAGES_MENU_WMESSAGE_MENU_ID, MESSAGES_MENU_INBOX_MENUID, MESSAGES_MENU_OUTBOX_MENUID, MENU_ID_MYAPP_DEMO, SHOW,
MOVEABLEWITHINPARENT|INSERTABLE, DISP_LIST,STR_SMS_MENUENTRY, IMG_MESSAGE_SMS_MENUENTRY)); 即在菜单项MESSAGES_MENU_SMS_MENUID的下一级菜单的最后增加了菜单项MENU_ID_MYAPP_DEMO。添加时要注意NUM_MESSAGES_MAIN_MENU值应相应变化。宏ADD_APPLICATION_MENUITEM用来装载菜单资源,
其参数如下:
第1个参数:新加菜单项ID
第2个参数:新菜单项的上一级菜单ID,即ParentID。
第3个参数:此菜单的下一级菜单项总个数(N)。
第4—4+N个参数:分别为每一个子菜单项ID。
第4+N+1个参数:菜单项显示属性,一般为show。
第4+N+2个参数:菜单项转移属性,有以下几种:#define NONMOVEABLE 0x00 #define MOVEABLEWITHINPARENT 0x01 #define MOVEABLEACROSSPARENT 0x02 #define INSERTABLE 0x10 #define SHORTCUTABLE 0x80 一般为MOVEABLEWITHINPARENT|INSERTABLE
第4+N+3个参数:菜单项下级菜单的显示风格,有以下几种 typedef enum { DEFAULT, /* Cannot be changed to list,matrix,circular */ DISP_LIST, DISP_MATRIX, DISP_CIRCULAR_3D, DISP_PAGE, DISP_ANI_BG_LIST, DISP_MATRIX_EMS, DISP_ROTATE, DISP_MOTION, DISP_LIST_MATRIX, DISP_MATRIX_PAGE, DISP_FIXED_GRID } DISPATTRIBUTE;
第4+N+4个参数:此菜单项的显示文本字符串第4+N+5个参数:此菜单项的显示小图标菜单的高亮时按下OK键对应的处理函数用宏ADD_APPLICATION_MENUITEM_HILITE_HANDLER加载,它有2个参数,分别为:第1个参数:菜单ID 第2个参数:对应的函数
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站不拥有所有权,不承担相关法律责任。如发现有侵权/违规的内容, 联系QQ1841324605,本站将立刻清除。