找回密码
 注册
搜索
查看: 1827|回复: 21

[讨论] MTK菜单函数问题

[复制链接]
发表于 2008-4-18 14:02:07 | 显示全部楼层 |阅读模式
MTK子菜单的入口函数该刚在那里?是放在父菜单的工程下么?
高手帮忙阿 。本人菜鸟阿 !
[此贴子已经被作者于2008-4-18 15:32:04编辑过]
发表于 2008-4-18 18:07:20 | 显示全部楼层
每个菜单都有一个id的,再根据这个id设置入口函数
你应该找点资料看看,论坛里就有[em01]
点评回复

使用道具 举报

 楼主| 发表于 2008-4-19 10:09:09 | 显示全部楼层
我设置了入口函数。比如要在Setting下设立个子菜单,是不是该把子菜单的函数放在 setting  工程目录下?
还是仅仅需要把菜单的ID设置好,然受直接编译运行就可以 ?
点评回复

使用道具 举报

发表于 2008-4-19 11:37:57 | 显示全部楼层
看一下:www.fugui.name
点评回复

使用道具 举报

 楼主| 发表于 2008-4-19 12:42:51 | 显示全部楼层
我那么作的可是没有效果!看不到显示!
点评回复

使用道具 举报

 楼主| 发表于 2008-4-21 09:23:44 | 显示全部楼层
还没有解决阿!高手帮忙下!
点评回复

使用道具 举报

发表于 2008-4-21 11:56:31 | 显示全部楼层
看下res_mainmenu.c这样的文件就会明白了
点评回复

使用道具 举报

 楼主| 发表于 2008-4-21 17:56:02 | 显示全部楼层
看了,然后从做了一下。还是没有!郁闷阿!单步调试了一下发现标记子菜单的数量的变量不变,还是原来的数值!

[此贴子已经被作者于2008-4-22 16:54:53编辑过]
点评回复

使用道具 举报

发表于 2008-4-22 18:00:59 | 显示全部楼层
你是不是根本没有编译res文件,修改后make时先resgen,再remake
点评回复

使用道具 举报

 楼主| 发表于 2008-4-23 09:59:49 | 显示全部楼层
很感谢JJBAER但是问题还是存在!这个是我作的过程
点评回复

使用道具 举报

 楼主| 发表于 2008-4-23 10:06:20 | 显示全部楼层
1.在..\plutommi\mmi\Setting\SettingInc目录下的SettingDefs.h文件中增加如下内容:
   enum STR_SETTING_LIST的最后增加字符串ID的声明:
   enum SCR_SETTING_LIST的最后增加Screen ID的声明
enum IMG_SETTING_LIST的最后增加一个Image ID的声明
在..\plutommi\mmi\Inc目录下GlobalMenuItems.h文件中enum   GLOBALMENUITEMSID
     的最后增加菜单ID的声明
在..\plutommi\Customer\CustResource\PLUTO_MMI目录下的Ref_list.txt中添加三个字符串
在.. \plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI目录下的Res_Setting.c增加如下
资源
在.. \plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI目录下的Res_MainMenu.c中修改菜单的个数及添加子菜单
在..\plutommi\mmi\Setting\SettingInc\目录下的SettingProt.h中增加如下的函数声明
在..\plutommi\mmi\Setting\SettingSrc\目录下的SettingSrc.c中增加如下的函数定义
在..\plutommi\mmi\Setting\SettingSrc\目录下的SettingSrc.c中void InitSettingApp(void)函数下增
加如下代码:
         SetHiliteHandler(MENU_MY_SETTING,HighlightMySetting);
点评回复

使用道具 举报

发表于 2008-4-23 12:33:51 | 显示全部楼层
真晕,加我msn,jjbear0323@hotmail.com,我帮你看看
点评回复

使用道具 举报

 楼主| 发表于 2008-4-23 13:32:07 | 显示全部楼层

这是我的步骤

这个是我的操作步骤你帮我看下吧  十分感谢JJBEAR!!
步骤如下:
   1.在..\plutommi\mmi\Setting\SettingInc目录下的SettingDefs.h文件中增加如下内容:
a. enum STR_SETTING_LIST的最后增加三个字符串ID的声明:
STR_MY_SETTING,
   b. enum SCR_SETTING_LIST的最后增加三个Screen ID的声明:
     SCR_MY_SETTING,
    c. enum IMG_SETTING_LIST的最后增加一个Image ID的声明:
    IMG_MY_SETTING,
    d. 在..\plutommi\mmi\Inc目录下GlobalMenuItems.h文件中enum   GLOBALMENUITEMSID
     的最后增加三个菜单ID的声明:(有的是在本AP或模块的*Defs.h中声明)
MENU_MY_SETTING,
   2.在..\plutommi\Customer\CustResource\PLUTO_MMI目录下的Ref_list.txt中添加三个字符串:
STR_MY_SETTING Undefined 10 My Setting My Setting 我的设定 我的设定
3. 在.. \plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI目录下的Res_Setting.c增加如下资源:
ADD_APPLICATION_MENUITEM((MENU_MY_SETTING,MAIN_MENU_SETTINGS_MENUID,0,SHOW, MOVEABLEWITHINPARENT,   
DISP_LIST,STR_MY_SETTING,0));
ADD_APPLICATION_IMAGE2(IMG_MY_SETTING,CUST_IMG_PATH"\\\\MainLCD\\\\SubMenu\\\Settings\\\\MY_SETTING.GIF","My Setting.");
         ADD_APPLICATION_STRING2(STR_MY_SETTING,"My Setting","MySetting");
4. 在.. \plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI目录下的Res_MainMenu.c中修改如下:
ADD_APPLICATION_MENUITEM((MAIN_MENU_SETTINGS_MENUID,IDLE_SCREEN_
MENU_ID, 5,
MENU9102_INITIAL_SETUP,
   改为: ADD_APPLICATION_MENUITEM((MAIN_MENU_SETTINGS_MENUID,IDLE_SCREEN_ MENU_ID,6,
MENU_MY_SETTING,
MENU9102_INITIAL_SETUP,
     5.在..\plutommi\mmi\Setting\SettingInc\目录下的SettingProt.h中增加如下的函数声明:
extern void HighlightMySetting(void);
extern void EntryMySetting(void);
6.在..\plutommi\mmi\Setting\SettingSrc\目录下的SettingSrc.c中增加如下的函数定义:
void HighlightMySetting(void)
{
   SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
   SetRightSoftkeyFunction(GoBackHistory,KEY_EVENT_UP);
   SetKeyHandler(EntryMySetting, KEY_RIGHT_ARROW,KEY_EVENT_DOWN);
   SetLeftSoftkeyFunction(EntryMySetting,KEY_EVENT_UP);
   }
   void EntryMySetting(void)
{
U16 nStrItemList[MAX_SUB_MENUS];
U16 nNumofItem;
U8* guiBuffer;
U16 ImageList[MAX_SUB_MENUS];
EntryNewScreen(SCR_MY_SETTING, NULL, EntryMySetting, NULL);

guiBuffer= GetCurrGuiBuffer(SCR_MY_SETTING);

nNumofItem= GetNumOfChild(MENU_MY_SETTING);

GetSequenceStringIds(MENU_MY_SETTING,nStrItemList);
GetSequenceImageIds(MENU_MY_SETTING, ImageList);

SetParentHandler(MENU_MY_SETTING);

RegisterHighlightHandler(ExecuteCurrHiliteHandler);

ShowCategory15Screen(STR_MY_SETTING, IMG_SCR_SETTING_CAPTION, STR_GLOBAL_OK, IMG_GLOBAL_OK,STR_GLOBAL_BACK, IMG_GLOBAL_BACK, nNumofItem, nStrItemList, ImageList, LIST_MENU, 0, guiBuffer);

SetRightSoftkeyFunction(GoBackHistory,KEY_EVENT_UP);
}
7. 在..\plutommi\mmi\Setting\SettingSrc\目录下的SettingSrc.c中void InitSettingApp(void)函数下增
加如下代码:
         SetHiliteHandler(MENU_MY_SETTING,HighlightMySetting);
点评回复

使用道具 举报

 楼主| 发表于 2008-4-24 17:59:42 | 显示全部楼层
高手帮忙阿 !!还在郁闷阿!
点评回复

使用道具 举报

发表于 2008-4-25 13:33:51 | 显示全部楼层
你那个问题解决没啊
点评回复

使用道具 举报

 楼主| 发表于 2008-4-25 17:03:07 | 显示全部楼层
基本解决了 !
点评回复

使用道具 举报

发表于 2008-4-25 18:28:44 | 显示全部楼层
这两天刚好不能上网,不好意思.
代码上看没问题,你确定下是否加在没有打开的宏里面了
点评回复

使用道具 举报

 楼主| 发表于 2008-4-25 19:00:13 | 显示全部楼层
谢JJBEAR主要是我的程序自身的问题,所以看不出来,因为在custmainmenutreeout。c里面没有增加新的资源,所以看不到!
点评回复

使用道具 举报

发表于 2008-5-31 14:27:28 | 显示全部楼层
如果还没有解决的话,就别做MTK了。o(∩_∩)o...哈哈,开个玩笑。。呵呵。
点评回复

使用道具 举报

发表于 2008-7-9 13:52:02 | 显示全部楼层
以下是引用leo1984在2008-4-25 19:00:13的发言:
谢JJBEAR主要是我的程序自身的问题,所以看不出来,因为在custmainmenutreeout。c里面没有增加新的资源,所以看不到!

这个文件也要改,也能改啊?应该是自己生成的吧
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-26 23:45 , Processed in 0.061302 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表