MTK-平台-主菜单-Matrix-main-menu应用及相关扩展_第1页
MTK-平台-主菜单-Matrix-main-menu应用及相关扩展_第2页
MTK-平台-主菜单-Matrix-main-menu应用及相关扩展_第3页
MTK-平台-主菜单-Matrix-main-menu应用及相关扩展_第4页
MTK-平台-主菜单-Matrix-main-menu应用及相关扩展_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matrix菜单构造及其扩展HuChengzhiMatrix菜单简介什么是MatrixMatrix的构造自己写Matrix菜单实际应用及相关扩展Matrix菜单

什么是MatrixMatrix菜单

:矩阵菜单(宫格菜单)Matrix的常用形式九宫格、十二、十六宫格Matrix菜单的构造自己写Matrix菜单入口函数

显示函数(ShowCategoryXXXScreen)退出函数

入口函数

更改入口函数

goto_main_menu

自定义的菜单入口函数创建新窗口,将上一个窗口的数据压入栈中++currHistoryIndexscrnid:entryFuncPtr:EntryIdleScreenscrnid:entryFuncPtr:EntryNewMainmenu入栈调用EntryNewScreen

显示函数(ShowCategoryXXXScreen)

原理: 背景层+显示图标的图层,两个层叠加

实现:显示背景层、状态条、系统按键: 用DrawManager调用模板来完成显示图标: 用自定义的函数(函数里调用相关GUI、GDI接口完成图标的绘制和相关交互的响应操作)

显示背景层状态条、系统按键:用DM(DrawManager)

typedefstruct{

U16

category_id;//屏幕ID

U8*control_set_p;//控件列表

S16*default_coordinate_set_p;//属性列表

S16*rotated_coordinate_set_p;//是否旋转屏幕}dm_category_id_control_set_map_struct;constdm_category_id_control_set_map_struct

g_categories_controls_map[]=显示背景层状态条、系统按键:用DM(DrawManager)

{MMI_CATEGORY_NEW_MAINMENU_ID,(U8*)categoryNewMainmenu,(S16*)coordinate_setNewMainmenu,

NULL},constdm_category_id_control_set_map_struct

g_categories_controls_map[]={MMI_CATEGORY_NEW_MAINMENU_ID,(U8*)categoryNewMainmenu,(S16*)coordinate_setNewMainmenu,

NULL},constU8categoryNewMainmenu[]={ 5, DM_BASE_LAYER_START,

DM_SCR_BG,

DM_STATUS_BAR1,

DM_CATEGORY_CONTROLLED_AREA,

DM_BUTTON_BAR1};constS16coordinate_setNewMainmenu[]={ DM_FULL_SCREEN_COORDINATE_FLAG,

DM_DEFAULT_STATUS_BAR_FLAG,

0,MMI_STATUS_BAR_HEIGHT+1,UI_DEVICE_WIDTH,UI_DEVICE_HEIGHT-MMI_BUTTON_BAR_HEIGHT,DM_NO_FLAGS,

DM_DEFAULT_BUTTON_BAR_FLAG,MMI_SOFTKEY_WIDTH};显示图标: 用自定义的函数(函数里调用相关GUI、GDI接口完成图标的绘制和相关交互的响应操作)系统启动HardwarebootandsetupsystemstacketcNucleusPlusRTOSinitializationHardwareInitializationTasks/Modulesinitialization/configurationTasksCreationMMItaskMMI注册消息事件在MMI队列上面等待消息协议栈将消息放入MMI消息队列FrameworkLayer处理eventsFrameworklayer调用应用程序注册的回调函数回调函数中应用程序用UIcategory函数和风格进行screen显示MSG_ID_MMI_EQ_POWER_ON_IND:

MMI_APP_INIT(InitCategoryNewMainScreen());显示图标: 用自定义的函数(函数里调用相关GUI、GDI接口完成图标的绘制和相关交互的响应操作)交互操作:

1.按键操作

2.触摸屏操作交互操作:

1.按键操作 ICON2ICON4

ICON5

ICON6 ICON8交互操作:

2.触摸屏操作通过获取触摸屏的触摸范围与ICON的坐标进行比较,来判断是第几个ICON,进而来判断需要高亮第几个ICON退出函数

EntryNewScreen(MAIN_MENU_SCREENID,NULL,EntryNewMainmenu,NULL)AddHistory(main_menu_history);

EntryNewScreen(MAIN_MENU_SCREENID,exit_main_menu,EntryNewMainmenu,NULL)实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论