樹狀選單實現

2021-09-29 18:44:57 字數 1954 閱讀 6065

多級選單程式設計實現

​ 選單結構採用樹狀結構,由若干個節點組成多級選單。每個節點由當前層級節點數、標題,操作函式、父節點和子節點構成,如下**所示。

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為二級...