多級選單程式設計實現
選單結構採用樹狀結構,由若干個節點組成多級選單。每個節點由當前層級節點數、標題,操作函式、父節點和子節點構成,如下**所示。
typedef
struct menumenu_typedef;
這裡我們實現乙個多**管理選單
【我的**】
----【經典**】
--------【曲目1】
--------【曲目2】
----【流行**】
【我的文件】
----【電子書】
----【說明書】
**實現如下:
const menu_typedef mainmenu[2]
=,};
const menu_typedef musicmenu[2]
=,};
const menu_typedef docmenu[2]
=,};
const menu_typedef music_1_menu[2]
=,,}
;const menu_typedef doc_1_menu[1]
=};
定義乙個節點,用來儲存當前節點資訊,初始化指向主選單
menu_typedef *menupoint = (menu_typedef*)mainmenu;
char userchoose = 0; //當前層級節點序號
定義乙個空函式,補充沒有操作的節點。
void nullsubs(uint16_t key)
void
musicplayer
(uint16_t key)
}
實現文件閱讀器(省略)
void
musicplayer
(uint16_t key)
}
選單操作由以下功能組成:上、下、返回、確定。
選單任務的入口函式為按鍵操作值,根據使用者的輸入裝置傳入
/**
* @brief 選單選擇.
* @note
* @param keyvalue 輸入按鍵
* @retval none
*/void
menutask
(uint16_t keyvalue)
break
;case esc:
// 返回
operationfunc =0;
if(menupoint[userchoose]
.parent !=
null
)//父級是否存??
break
;case down:
//向下
userchoose ++;if
(userchoose > menupoint->menunodes -1)
break
;case enter:
// enter
if(menupoint[userchoose]
.func != nullsubs)
//判斷是否有行為函式
else
if(menupoint[userchoose]
.child !=
null
)//判斷子級是否為空
break;}
} keyvalue =0;
//清零,防止直接enter
dipstr = menupoint[userchoose]
.menuname;
//儲存當前選單標題,輸出到顯示裝置}if
(operationfunc ==1)
}
4)結語 php 樹狀 選單 用PHP實現多級樹型選單
樹型目錄結構模板程式 選單目錄庫欄位說明 menu id 選單專案 id menu 選單名稱 menu grade 選單等級 1 為主選單 2 為二級選單 menu superior 上一級選單 id 號 function my menu menu content,i,menu grade temp...
樹狀選單 zTree外掛程式使用
ztree 是乙個依靠 jquery 實現的多功能 樹外掛程式 而且擁有較好的瀏覽器相容性,有著豐富的功能以及可以自定義樣式,足以滿足大部分業務的開發。jquery 實現的樹狀選單 樹狀資料的web顯示 許可權管理等等。使用步驟如下 1.引入css和js檔案 2.在html頁面中想要顯示樹的地方建立...
php 樹狀 選單 如何用PHP實現多級樹型選單
本例的多級樹型選單,在網路中有很多應用,在絕大部分論壇中都有此結構,它一方面可以節省很多螢幕空間,另一方面給人一種美感,有很強的層次感。下面就是這個通用的多級樹型選單程式的源程式。選單目錄庫說明 menu id 選單項的id號 menu 選單項的內容 menu grade 選單登記1為主選單2為二級...