我其实是想弄关于多级界面显示,像MINI板的综合实验开机就会显示主界面,我想做个除了显示主界面,还要有二级界面,三级界面…….,我现在只能理解到MINI板那个主界面是怎么得到的,主界面那9个系统图标我也可以理解怎么得到,问题是,我的二级界面的图标我要怎么才能得到啊,我以为二级界面的9个图标可以像主界面那9个图标那样得到,但是我把程序改了之后,老是说找不到系统图标,难道系统图标在哪里被设置成9个了吗,为什么改了就不行,我已经把二级界面的9个图标放到SD卡了,名字也确定好了,也加入 sysfile 了。我把我改的部分程序贴上来,你们看看有什么问题,谢谢了,我纠结了很多天了,没有办法才求救的。 我的主界面
二级界面
主界面那个背景图片,我是用文件图标得到,二级界面那个背景图片也是用文件图标得到的,二级界面的9个图标,是用MINI板的主界面得到的,要是我现在想加入三级界面,那么三级界面的9个图标,我就不懂用什么方法得到了。 我主要是改sysfile.c和gui.c里面的程序。在sysfile.h和gui.h里面的相关定义也改了,图标也放SD卡SYSTEM文件夹的SYSICO里面了。
ffice ffice" />
在sysfile.c里面改过的地方:红色的是改过的
u32 PICCLUSTER=0;//图片文件夹地址
u32 sys_ico[18]; //系统图标缓存区!不能篡改!
u32 file_ico[4]; //文件图标缓存区 folder;mus;pic;book;
u32 *Pic_Addr=(u32*)iclip;//注意 0:表示预览图片的地址 1~n,表示1~n块图片的地址
//系统文件名定义
const unsigned char *sysfile[]=
{
//系统字体图标 0开始
"GBK16.FON",
"GBK12.FON",
"UNI2GBK.SYS",
//系统文件图标 3开始
"FOLDER.BMP",
"MUS.BMP",
"PIC.BMP",
"BOOK.BMP",
//系统主界面图标 7开始
"EBOOK.BMP",
"PICTURE.BMP",
"GAME.BMP",
"TOUCH.BMP",
"TIME.BMP",
"MOUSE.BMP",
"USB.BMP",
"REMOTE.BMP",
"WIRELESS.BMP",
"LIANGCAI.BMP",
"ERCAI.BMP",
"HAIXIAN.BMP",
"GAODIAN.BMP",
"TIANPING.BMP",
"TANGZHOU.BMP",
"YINGPING.BMP",
"YINGLIAO.BMP",
"DINGDAN.BMP",
};
u8 SysInfoGet(u8 sel)
{
u32
cluster=0;
u32
syscluster=0;
u8
t=0;
u8
size;
u8
imgx[9];
FileInfoStruct
t_file;
//得到根目录的簇号
if(FAT32_Enable)cluster=FirstDirClust;
else
cluster=0;
t_file=F_Search(cluster,(unsigned
char *)folder[0],T_FILE);//查找system文件夹
if(t_file.F_StartCluster==0)return
2;//系统文件夹丢失
syscluster=t_file.F_StartCluster;//保存系统文件夹所在簇号
if((sel&0x80)==0)//查找系统文件
{
t=sel&0x7F;//得到编号
if(t==0)//系统文件
{
t_file=F_Search(syscluster,(unsigned
char *)folder[2],T_FILE);//在system文件夹下查找SYSICO文件夹
if(t_file.F_StartCluster==0)return
3;
cluster=t_file.F_StartCluster;//保存SYSICO文件夹簇号
for(t=0;t<18;t++)//查找系统图标,九个
{
t_file=F_Search(cluster,(unsigned
char *)sysfile[t+7],T_BMP);//在SYSICO文件夹下查找系统图标
sys_ico[t]=t_file.F_StartCluster;
if(t_file.F_StartCluster==0)return
4;//失败
}
for(t=3;t<7;t++)//查找文件图标,4个
{
t_file=F_Search(cluster,(unsigned
char *)sysfile[t],T_BMP);//在SYSICO文件夹下查找文件图标
file_ico[t-3]=t_file.F_StartCluster;
if(file_ico[t-3]==0)return
5;//失败
}
}else//图片文件夹
{
t_file=F_Search(cluster,(unsigned
char *)folder[3],T_FILE);//查找PICTURE文件夹
if(t_file.F_StartCluster==0)return
1;//图片文件夹丢失
PICCLUSTER=t_file.F_StartCluster;//图片文件夹所在簇号
}
在gui.c改过的地方;
//系统主菜单
const u8 *Menu[9]=
{
"电子图书",
"数码相框",
"拼图游戏",
"触摸画板",
"系统时间",
"鼠标画板",
"USB连接 ",
"红外遥控",
"无线传书",
"开胃凉菜",
"主食热菜",
"营养海鲜",
"鲜美汤粥",
"时尚饮品",
"美味糕点",
"甜品点心 ",
"饮料酒水",
"我的订单",
};
|