搜索
 找回密码
 立即注册

简单一步 , 微信登陆

Tvout保存关闭静音后开机无图标显示

作者:charles | 时间:2016-12-6 19:45:45 | 阅读:3521| 只看该作者 只看大图
                                                                      Tvout保存关闭静音后开机无图标显示

StateTVFunc.c
bMuteRecord =(MenuSettingConfig()->uiMOVSoundRecord ==MOVIE_SOUND_RECORD_ON)?(AHC_FALSE)AHC_TRUE);
菜单保存
AHC_General_CarDV.c    Menu_WriteSetting   à  AHC_Parameter.c :  AHC_PARAM_Menu_WriteEx
菜单读取
AHC_Main.c : AHC_Main_Task  à  AHC_Menu.c uiCheckDefaultMenuExist(:useMenu = MenuSettingConfig(); )  à  AHC_Parameter.c  AHC_PARAM_Menu_Read à MenuSetting.c  :  ParseMenuSet à  (menu_atoms.sAtom.fnSet)  à  MenuSetting.c :     ParamFun
新增菜单
MenuStateGeneralSettingsMenu.h中添加itemid枚举数
#if (MENU_GENERAL_AIRPLANE_MODE_EN)
         ITEMID_AIRPLANE_MODE,
         ITEMID_AIRPLANE_MODE_ON,
         ITEMID_AIRPLANE_MODE_OFF,
#endif
MenuStateGeneralSettingsMenu.c
声明
函数AHC_BOOL MenuItemAirplaneMode(PSMENUITEM pItem, AHC_BOOL bIsHover);
菜单结构体变量SMENUSTRUCT sSubAirplaneMode;
增加变量
SMENUITEM sItemAirplaneMode                             ={ ITEMID_AIRPLANE_MODE,                           &BMICON_MENU_WIFI,IDS_DS_AIRPLANE, &sSubAirplaneMode, 0,     0,AHC_TRUE, NULL };
子菜单变量
SMENUITEM sItemAirplaneMode_NO                   ={ ITEMID_AIRPLANE_MODE_OFF,    &BMICON_OPTION_CLOSE,                               IDS_DS_OFF,    NULL,MenuItemAirplaneMode, 0, AHC_TRUE, NULL };
SMENUITEM sItemAirplaneMode_YES                    = { ITEMID_AIRPLANE_MODE_ON,         &BMICON_OPTION_OPEN,                                IDS_DS_ON,     NULL,MenuItemAirplaneMode, 0, AHC_TRUE, NULL };
结构体数组
#if (MENU_GENERAL_AIRPLANE_MODE_EN)
PSMENUITEM sMenuListAirplaneMode[] =
{
         &sItemAirplaneMode_YES,
         &sItemAirplaneMode_NO,
};
#endif
MenuCommon.hMENU_SUB枚举中增加
MENUID_SUB_MENU_AIRPLANE_MODE
MenuStateGeneralSettingsMenu.c
定义结构体变量
#if (MENU_GENERAL_AIRPLANE_MODE_EN)
SMENUSTRUCT sSubAirplaneMode =
{
         MENUID_SUB_MENU_AIRPLANE_MODE,
         NULL,
         IDS_DS_AIRPLANE,
         NULL,
         sizeof(sMenuListAirplaneMode)/sizeof(PSMENUITEM),
         sMenuListAirplaneMode,
         SubMenuEventHandler,
         MenuGetDefault_GeneralSetting,
         0,
         IDS_DS_AIRPLANE,
         AHC_FALSE,
         0
};
#endif
函数
#if (MENU_GENERAL_AIRPLANE_MODE_EN)
AHC_BOOL MenuItemAirplaneMode(PSMENUITEMpItem, AHC_BOOL bIsHover)
{
         printc("%s,%d\r\n",__func__,__LINE__);
         //Setpf_AirplaneMode(pItem->iItemId- ITEMID_AIRPLANE_MODE-1);
         MenuSettingConfig()->uiAirplaneMode= pItem->iItemId - ITEMID_AIRPLANE_MODE-1;
         returnAHC_TRUE;
}
#endif
sMenuListMainGeneral中添加sItemAirplaneMode
保存菜单
两种方法
1、  MenuSetting.h的MenuInfo结构体中增加成员
需要增加到uiWNR前uiStatusLight后
MenuSetting.c中menu_atoms结构体变量sAtom数组添加元素到StatusLight后,
位置要与MenuInfo结构体中对应,如StatusLight在MenuInfo中是第67位成员,在menu_atoms中也应该对应第67个数组保存 StatusLight
{/* 068*/AIRPLANEMODE,                1,MENU_GENERAL_AIRPLANE_MODE_EN,           0, 1,                                        ParamFun,Menu_Setting_Get_General,   "0:On,1:Off"},
然后在MenuItemAirplaneMode函数中赋值给结构体变量的成员。MenuSettingConfig()->uiAirplaneMode= pItem->iItemId - ITEMID_AIRPLANE_MODE-1;
MenuStateGeneralGeneralSettingsMenu.c
MenuGetDefault_GeneralSetting函数中
#if(MENU_GENERAL_AIRPLANE_MODE_EN)
           case MENUID_SUB_MENU_AIRPLANE_MODE:
         DefaultValue=MenuSettingConfig()->uiAirplaneMode;//Getpf_AirplaneMode();
printc("#@@@@*****##########AirplaneModeDefaultValue=%d\r\n",DefaultValue);
                    break;
#endif
2、  不在MenuSetting.h的MenuInfo结构体中增加成员
MenuSetting.h中声明函数
int               Setpf_AirplaneMode(intvalue);
int               Getpf_AirplaneMode(void);
MenuSetting.c   menu_atoms增加元素到比MenuInfo结构体成员个数大的位置后,
{/* 087*/AIRPLANEMODE,                1,MENU_GENERAL_AIRPLANE_MODE_EN,           0, 1,                                        pf_General,Menu_Setting_Get_General,   "0:On,1:Off"},
然后在MenuItemAirplaneMode函数中设置结构体成员值。
Setpf_AirplaneMode(pItem->iItemId - ITEMID_AIRPLANE_MODE-1);
MenuStateGeneralGeneralSettingsMenu.c
MenuGetDefault_GeneralSetting函数中
#if(MENU_GENERAL_AIRPLANE_MODE_EN)
           case MENUID_SUB_MENU_AIRPLANE_MODE:
                                              DefaultValue=Getpf_AirplaneMode();
printc("#@@@@*****##########AirplaneModeDefaultValue=%d\r\n",DefaultValue);
                    break;
#endif
函数Setpf_AirplaneMode:
intSetpf_AirplaneMode(int value)
{
UINT8 i;
extern c**t char txtSetFile[];
// menu_atoms.sAtom.szSRem
for (i = 0; menu_atoms.sAtom.szSKey != NULL;i++)
{
           if (strcmpi(AIRPLANEMODE,menu_atoms.sAtom.szSKey) == 0)
           {
                    if (IN_RANGE(value,  &menu_atoms.sAtom)) {
                             menu_atoms.sAtom.nSVal= value;
                    }
           }
}
AHC_PARAM_Menu_WriteEx((char*)txtSetFile);   
return value;
}
函数Getpf_AirplaneMode:
int Getpf_AirplaneMode(void)
{
UINT8 i;
// menu_atoms.sAtom.szSRem
for (i = 0; menu_atoms.sAtom.szSKey != NULL;i++)
{
           if (strcmpi(AIRPLANEMODE,menu_atoms.sAtom.szSKey) == 0)
           {
                    returnmenu_atoms.sAtom.nSVal;
           }
}
return 0;
}

收藏
收藏0
分享
分享
点赞
点赞0
反对
反对0
该会员没有填写今日想说内容.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版