OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2560|回复: 0

请大神解释一下

[复制链接]

6

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
239
金钱
239
注册时间
2018-6-16
在线时间
31 小时
发表于 2018-10-1 16:22:59 | 显示全部楼层 |阅读模式
本帖最后由 云云嘟p9iGv 于 2018-10-3 14:12 编辑

//filelistbox结构体定义                  
__packed typedef struct
{
        u16 top;                                                   //filelistbox顶端坐标
        u16 left;                       //filelistbox左端坐标
        u16 width;                                                   //宽度
        u16 height;                                                //高度 必须为12/16的倍数,如果有边框,在倍数基础上加2

        u8 type;                                                //类型标记字
                                                                        //[bit7]:1,需要画滚动条出来(条件是totalitems>itemsperpage);0,不需要画出来.(此位由软件自动控制)
                                                                        //[bit6:0]:文件类型                                         
                                                               
        u8 sta;                                                        //filelistbox状态,[bit7]:滑动标志;[bit6]:编号有效的标志;[bit5:0]:第一次按下的编号.         
        u8 id;                                                        //filelistbox 的id
        u8 dbclick;                                                   //双击,
                                                                        //[7]:0,没有双击.1,有双击.
                                                                        //[0]:0,非目标文件(是文件夹/磁盘).1,目标文件(非文件夹/磁盘)

        u8 font;                                                //文字字体 12/16
        u16 selindex;                                        //选中的索引 0<selindex<foldercnt+filecnt;

        u16 foldercnt;                                        //文件夹数目
        u16 filecnt;                                        //文件数目
        
        u8 icosize;                                                //ico图标大小 16/20/28等

        u16 lbkcolor;                                        //内部背景颜色
         u16 lnselcolor;                                 //list name 选中后的颜色
          u16 lnselbkcolor;                                 //list name 选中后的背景颜色
        u16 lncolor;                                         //list name 未选中的颜色
        u16 rimcolor;                                        //边框颜色
        u16 pthinfbkcolor;                            //路径/信息栏的背景颜色

        u8* path;                                                //父目录路径
        //u8  seltblindex;                                //当前的目录层数
        u16 seltbl[FLBOX_PATH_DEPTH];        //选中的条目列表,FLBOX_PATH_DEPTH为深度
        u16 fliter;                                                //文件过滤器,大类过滤
                                                                        //刷选表见上面的定义
        u16 fliterex;                                        //文件扩展的过滤器
                                                                        //用来选择大类里面的小类,最多支持16种不同的文件.默认0XFFFF,即不对小类进行刷选.

        u8 memdevflag;                                        //磁盘在位状态(最多可以表示8个磁盘)
                                                                        //bit7:0,存储设备7~0在位状态;0,不在位;1,在位;
                                                                        //本例中,存储设备0表示:SD卡
                                                                        //              1表示:SPI FLASH
                                                                        //              2表示:U盘
//////////////////////
        u8 *fname;                                                //当前选中的index的名字
        u16 namelen;                                        //name所占的点数.
        u16 curnamepos;                                        //当前的偏移
        u32 oldtime;                                        //上一次更新时间

    //以下只与目标文件相关(不含文件夹)
         u16 *findextbl;                                    //目标文件的索引表        

        _scrollbar_obj * scbv;                        //垂直滚动条
        _filelistbox_list *list;                 //链表            
}_filelistbox_obj;

//filelist结构体.链表结构
__packed typedef struct
{
        void * prevlist;
        void * nextlist;
        u8 type;                //文件类型
        u8 *name;                //文件名字
}_filelistbox_list;

如上,结构体_filelistbox_obj中的 u16 seltbl[FLBOX_PATH_DEPTH];  //选中的条目列表,FLBOX_PATH_DEPTH为深度    和 u16 *findextbl;//目标文件的索引表             分别是做什么用的??

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 07:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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