以前的帖子
LCD菜单程序(多层菜单)
LCD菜单程序(多层菜单)(完整版)
博客里也有一点点http://www.80eboy.com/blog/menu_frame.html
NOW,Qt版的,可以先用Qt版在PC机上设计,然后移植到MCU中去,加快开发速度。
一个示例效果图(GIF动画加载可能慢一点)如果无法显示请点这里查看动画http://www.80eboy.com/img/SMF.gif
核心的代码(具体实现请下载工程文件)
- struct PAGE
- {
- const struct PAGE *pParent;
- void (*Function)(u8 key);
- const struct Item *pItem;
- const u8 ItemNum;
- };
- struct Item
- {
- const u8 TypeAndIndex;
- const u8 *pText;
- const struct PAGE *pChildrenPage;
- };
- extern const struct PAGE *pPage;
- void SetMainPage(const struct PAGE *pMainPage);
- void ShowMenu(const struct PAGE *pPage);
- void ShowPage(const struct PAGE *pPage);
- void ShowParentPage(void);
- void ShowItemPage(void);
- void SelPageItem(u8 ItemIndex);
- u8 Menu_GetSelItem(void);
- void GetShowLst(u8 *pOutMin,u8 *pOutMax);
- void KeySelItem(u8 key);
|