详细介绍如何在展讯平台上添加菜单(最后附有源代码)[汇编].pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
### 如何在展讯平台上添加菜单的详细步骤 在阅读完给定的文件内容后,本文将为您系统地总结和扩展“如何在展讯平台上添加菜单”的知识点。 #### 步骤1:创建新应用程序文件夹 为了在展讯平台上添加一个新的菜单项,首先需要为您的新应用程序创建一个文件夹。按照以下路径创建: ``` MS_Code\MS_MMI\source\mmi_app\app\Helloworld ``` 在此文件夹内,进一步创建两个子文件夹`c`和`h`,用于存放源文件和头文件。确保这些文件夹结构清晰,以便后续步骤中的引用。 #### 步骤2:配置项目支持开关 在项目的主`makefile`文件中添加支持开关。这通常位于项目的根目录下,例如`project_CG201_6620_64X32.mk`。在文件中加入以下行来启用或禁用您的应用程序支持: ```makefile MY_APP_SUPPORT = TRUE ``` 这里`TRUE`表示启用支持,而`FALSE`则表示禁用。确保根据您的需求正确设置此变量。 #### 步骤3:定义宏与源文件路径 接下来,在`make\app\app.mk`文件中添加相应的宏和源文件路径。这些设置对于编译器正确识别并编译您的应用至关重要。 ```makefile ifeq ($(strip $(MY_APP_SUPPORT)), TRUE) MCFLAG_OPT += -D__MY_APP__ MINCPATH += MS_MMI/source/mmi_app/app/Helloworld/h MSRCPATH += MS_MMI/source/mmi_app/app/Helloworld/c SOURCES += myapp.c myapp_id.c endif ``` 这里指定了宏`__MY_APP__`以及源文件和头文件的路径。同时,将您的源文件`myapp.c`和`myapp_id.c`加入到编译列表中。 #### 步骤4:准备资源文件 在`MS_MMI\source\resource\mmi_res_240x320`目录下创建对应的文件夹结构来存放您的应用程序图标和其他资源文件。例如: ``` Helloworld\MMI_RES_DEFAULT\IMAG\myapp.png ``` 此外,在同一目录下的`str_table.xls`文件中添加您的应用程序名称和其他必要的字符串资源。 #### 步骤5:添加资源头文件路径 为了使编译器能够识别并加载资源文件,还需要在`make\resource\resource.mk`文件中添加资源头文件路径。 ```makefile ifeq ($(strip $(MY_APP_SUPPORT)),TRUE) SOURCES += Helloworld_mdu_def.h SRCPATH += MS_MMI/source/mmi_app/app/Helloworld/h endif ``` #### 步骤6:定义MODULE 接着,在`mmi_res_prj_def.h`文件中定义您的应用程序模块。这一步骤对于应用程序的注册非常重要。 ```c #ifdef __MY_APP__ RES_ADD_MODULE(MMI_MODULE_MYAPP,"\\Helloworld\\Helloworld_mdu_def.h") #endif ``` #### 步骤7:添加菜单ID 在`mmi_menutable.h`文件中,为您的应用程序添加一个唯一的菜单ID。确保这个ID是在`ID_TOTAL`之前定义的。 ```c #ifdef __MY_APP__ ID_MYAPP_HELLOWORLD, #endif ``` #### 步骤8:配置菜单信息 接下来,在`mmi_menutable.c`文件中配置菜单的信息,包括图标、文本等元素。 ```c #ifdef __MY_APP__ {ID_MYAPP_HELLOWORLD, TIP_NULL, {STXT_OK, TXT_NULL, STXT_RETURN}, TXT_MYAPP, IMAGE_MYAPP, 0, 0, MENU_NULL}, #endif ``` 并确保包含相应的头文件`myapp_text.h`和`myapp_image.h`。 #### 步骤9:实现菜单响应函数 在`mainmenu_win.c`文件中添加菜单响应函数。这是用户点击菜单项时触发的动作。 ```c #ifdef __MY_APP__ case ID_MYAPP_HELLOWORLD: MYAPP_EnterWin(); break; #endif ``` #### 步骤10:添加初始化函数 在`mmimain.c`文件中添加初始化函数,确保您的应用程序能够正确启动。 ```c #ifdef __MY_APP__ MYAPP_AppInit(); #endif ``` #### 示例代码片段 下面提供了一些示例代码片段,以帮助您更好地理解每个步骤的具体实现: - `Helloworld_mdu_def.h`文件示例: ```c #ifdef __MY_APP__ RES_ADD_IMG(IMAGE_MYAPP, "\\MMI_RES_##\\IMAG\\myapp.png", IMG_CMP_PNG_ARGB, 0) RES_ADD_STRING(TXT_MYAPP, "Helloworld") #endif ``` - `myapp_text.h`文件示例: ```c #ifndef MY_APP_TEXT_H #define MY_APP_TEXT_H #ifdef __MY_APP__ #include "sci_types.h" #include "mmi_module.h" #ifdef __cplusplus extern "C" { #endif #define MACRO_MDU_TYPE MACRO_MDU_TEXT #include "macro_mdu_def.h" typedef enum MY_APP_TEXT_ID_E { MY_APP_TXT_HELLO_WORLD, // 更多文本ID } MY_APP_TEXT_ID_E; #endif ``` 通过以上步骤,您可以成功地在展讯平台上添加一个新的菜单项,并为其配置相应的功能。这些步骤不仅涵盖了从文件夹创建到编译设置的整个流程,还提供了实际操作过程中的具体代码示例,有助于开发者更好地理解和实施。
- 粉丝: 0
- 资源: 11万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Java Servlet的在线购物系统.zip
- (源码)基于Java+Spring Boot的教务管理系统.zip
- 主要是Java技术栈的文章.zip
- (源码)基于Arduino平台的公共交通状态展示系统.zip
- (源码)基于Python和Raspberry Pi的PIC微控制器编程与数据记录系统.zip
- (源码)基于Linux系统的文件信息列表工具.zip
- (源码)基于Python和MXNet框架的ZJ League视频问题回答系统.zip
- (源码)基于C++的图书管理系统.zip
- (源码)基于C++的航班管理系统.zip
- ATmega328-Bootloader-Maker(使用ATmega328p芯片制作Arduino Uno R3开发板)