中级会员
 
- 积分
- 331
- 金钱
- 331
- 注册时间
- 2013-3-27
- 在线时间
- 9 小时
|
//显示filelistbox的路径
//filelistbox:filelistbox指针
void filelistbox_show_path(_filelistbox_obj *filelistbox)
{
u16 plen;
u8 *path=filelistbox->path;
u8 offset;
const u8 chgchar[2]={0X5C,0X00};//转义符 等效"\"
if(strlen((const char*)filelistbox->path)>4)offset=1;//文件夹
else offset=0;//借用一下offset
gui_draw_icosalpha(filelistbox->left+5,filelistbox->top+(FLBOX_PATH_HEIGHT-16)/2,offset);//偏移5个单位,显示图标
offset=0;
plen=strlen((const char*)path);
if(plen)//需要显示
{
if(plen*(FLBOX_PTHINF_FONT/2)>(filelistbox->width-16-7))
{
offset=(FLBOX_PTHINF_FONT/2)*3;
while(plen*(FLBOX_PTHINF_FONT/2)>(filelistbox->width-offset-16-7))
{
path=(u8*)strstr((const char*)++path,(const char*)chgchar); //去掉一截
plen=strlen((const char*)path); //得到新的长度
}
gui_show_ptstr(filelistbox->left+16+7,filelistbox->top+(FLBOX_PATH_HEIGHT-FLBOX_PTHINF_FONT)/2,filelistbox->width+filelistbox->left,GUI_LCD_H,0,filelistbox->lncolor,FLBOX_PTHINF_FONT,"...",1);//显示3点
}
gui_show_ptstr(filelistbox->left+offset+16+7,filelistbox->top+(FLBOX_PATH_HEIGHT-FLBOX_PTHINF_FONT)/2,filelistbox->width+filelistbox->left,GUI_LCD_H,0,filelistbox->lncolor,FLBOX_PTHINF_FONT,path,1);//显示路径
}
}
其中,红色部分看不懂,为什么filelistbox->width-16-7(为什么减16再减7),(FLBOX_PTHINF_FONT/2)*3(为什么乘以3)
filelistbox->width-offset-16-7(为什么减16再减7)
|
|