專利名稱:菜單分級顯示方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種菜單分級顯示方法。
背景技術(shù):
在各類儀器儀表的設(shè)計中,常常需要透過液晶和鍵盤來實現(xiàn)人機交互,當(dāng)整個系 統(tǒng)需要管理的內(nèi)容較多的時候,如何透過鍵盤和液晶實現(xiàn)有效管理便是個問題。通常會采 用菜單界面來達(dá)到這個目的。菜單一般會提示各個軟鍵的功能。這里舉一種示波器(安捷 倫MS07104A)為例。按其前面板觸發(fā)區(qū)中的Mode/Coupling鍵,會出現(xiàn)Mode/Coupling菜 單。繼續(xù)按菜單中的External軟鍵,會顯示外部觸發(fā)探頭菜單。從中可以看出外部觸發(fā)探 頭菜單是Mode/Coupling菜單的下一級菜單(也可以叫做子菜單)。即如果想進(jìn)入到外部 觸發(fā)探頭菜單,首先必須進(jìn)入到Mode/Coupling菜單。由于儀器的按鍵有限,但是功能卻越來越多,這就必然會導(dǎo)致菜單的層級越來越 深。如果繼續(xù)采用這種不顯示菜單隸屬關(guān)系的菜單顯示方式,當(dāng)對層級較深的菜單進(jìn)行操 作時,就有可能導(dǎo)致不清楚當(dāng)前所做的操作,從而導(dǎo)致誤操作。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種菜單分級顯示方法,它可清楚地顯示出各個菜單之間的 從屬關(guān)系,使客戶更方便地查看當(dāng)前所作操作的路徑。為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案一種菜單分級顯示方法,其特征在于包括以下步驟1)建立資源表,在該資源表里記錄著每級菜單的內(nèi)容,每級菜單的內(nèi)容包括本級 菜單頭、本級菜單項以及上一級菜單的菜單頭;2)建立資源表中的各級菜單與按鍵的鍵值的對應(yīng)關(guān)系;3)獲取按鍵的鍵值消息;4)解析獲取的鍵值消息;5)根據(jù)解析結(jié)果取出對應(yīng)級的菜單進(jìn)行繪制。進(jìn)一步地所述步驟5)的具體步驟包括5. 1)首先根據(jù)解析結(jié)果從資源表取出對應(yīng)級的菜單內(nèi)容;5. 2)接著從本級向上逐級搜索各上級菜單的菜單頭;5. 3)最后在屏幕上繪制各上級菜單的菜單頭、本級菜單的菜單頭、本級菜單項。所述鍵值消息包括按鍵鍵值、按鍵次數(shù)及按鍵狀態(tài)。本發(fā)明可清楚地顯示出各個菜單之間的從屬關(guān)系,使用戶更方便地查看當(dāng)前所作 操作的路徑,因而不容易誤操作。
圖1是本發(fā)明的系統(tǒng)應(yīng)用部分軟件組成框圖;圖2是本發(fā)明的系統(tǒng)功能實現(xiàn)流程圖;圖3是本發(fā)明的菜單分級顯示圖;圖4和圖5分別輔助菜單、接口設(shè)置菜單的分級顯示圖;圖6是系統(tǒng)運行界面圖;圖7是系統(tǒng)的運行流程圖。
具體實施例方式本發(fā)明是一種菜單分級顯示方法,其包括以下步驟1)建立資源表,在該資源表里記錄著每級菜單的內(nèi)容,每級菜單的內(nèi)容包括本級 菜單頭、本級菜單項以及上一級菜單的菜單頭;2)建立資源表中的各級菜單與按鍵的鍵值的對應(yīng)關(guān)系;3)獲取按鍵的鍵值消息;4)解析獲取的鍵值消息;5)首先根據(jù)解析結(jié)果從資源表取出對應(yīng)級的菜單內(nèi)容,接著從本級向上逐級搜索各 上級菜單的菜單頭,最后在屏幕上繪制各上級菜單的菜單頭、本級菜單的菜單頭、本級菜單項。下面以一個數(shù)字示波器系統(tǒng)為實例作進(jìn)一步說明。系統(tǒng)應(yīng)用部分的軟件框圖如圖1所示。包括KeyProc(鍵值處理)模塊、 Command(遠(yuǎn)程命令解析)模塊、SSM(狀態(tài)機)模塊、Function(應(yīng)用功能)模塊及⑶I (界 面繪制)模塊。其中Keyf^oc模塊獲得鍵值及按鍵次數(shù)。SSM模塊是實現(xiàn)系統(tǒng)功能的核心,該模塊通過 管理消息的方式來實現(xiàn)系統(tǒng)功能。Fimciton模塊實現(xiàn)示波器的各項主要功能。GUI模塊一 方面解析功能消息,另一方面實現(xiàn)屏幕界面的繪制。系統(tǒng)功能的實現(xiàn)過程如圖2所示。其中1. SSM根據(jù)輸入的鍵值消息(包括鍵值、按鍵次數(shù)及按鍵狀態(tài)等)生成功能消息。若按下CHl菜單下面的第一個鍵(耦合)一次,SSM會將這個動作編碼成碼長64 位的功能消息。功能消息由兩部分組成,分別是功能消息ID及標(biāo)志位。每一種功能都有唯 一的功能消息ID與之對應(yīng),功能消息的高56位用來給每一種功能消息分配唯一的功能消 息ID。低8位為標(biāo)志位,用來記錄按鍵按下和彈起狀態(tài)等信息。這一步將按鍵與功能對應(yīng) 起來。標(biāo)志位主要用來表示該功能消息的類型,每一種消息類型對應(yīng)刷新的屏幕界面是 不同的。比如功能消息如果是“按鍵按下”類型的,那么界面上只有按鈕按下的效果,而沒 有其他的變化。2. SSM調(diào)用GUI的功能消息解析模塊,將功能消息解析成為窗體消息。窗體消息包含了當(dāng)前菜單、當(dāng)前頁,還有當(dāng)前所操作的旋鈕、當(dāng)前的彈出菜單以及 當(dāng)前所操作的是第幾個按鍵等信息。當(dāng)前菜單作為一個對象,它保存著自己的菜單頭,菜單 項及它自身的層級等信息。舉例說明當(dāng)前菜單所關(guān)聯(lián)的信息。如圖3這個菜單的菜單頭為 “網(wǎng)絡(luò)設(shè)置”,它下面的菜單項分別為“配置類型”、“ IP地址”等顯示在菜單上的項目,且它自身的層級為三級(上面有“輔助”和“接口設(shè)置”兩級菜單)。3.⑶I模塊將解析出來的窗體消息一方面發(fā)給SSM用來管理系統(tǒng)運作,另一方面 留給自己用來繪制界面。4.如果菜單是一級菜單,它僅保存著菜單頭及自己所在的層級。如果是二級及以 下的菜單,它不光需要保存菜單頭及層級,同時還需要保存它上一級的菜單。這樣當(dāng)分析出 來的菜單是三級或者四級時,它也可以根據(jù)它保存的上級菜單來索引到第一級菜單。舉例說明實現(xiàn)步驟1.按Utility鍵,當(dāng)鍵彈起時,發(fā)送Utility鍵對應(yīng)的按鍵消息。狀態(tài)機接收到該 按鍵消息,將其轉(zhuǎn)換為功能消息(也就是按下該鍵需要進(jìn)行哪些操作),并進(jìn)入到Utility 這個狀態(tài),同時向GUI發(fā)送這個功能消息。2. GUI將功能消息解析為窗體消息(就是需要界面繪制哪些內(nèi)容)。解析的過程 需要搜索繪制界面所必須的信息。比如在繪制菜單的時候,必須要知道當(dāng)前所在的菜單是 哪個,菜單頭是什么,這個菜單有幾項,分別是什么。目前的當(dāng)前菜單是Utility (如圖4), 菜單頭就是顯示Utility,這個菜單有三項,分別是接口設(shè)置、系統(tǒng)時間及自校正。到此完成 了從鍵盤到功能再到顯示的一整套任務(wù)。3.菜單的Fl軟鍵對應(yīng)的功能為接口設(shè)置。此時按下Fl鍵,SSM接收到該鍵值之 后會將狀態(tài)切換到接口設(shè)置下面,同時發(fā)送功能消息。GUI模塊解析到當(dāng)前的菜單是接口 設(shè)置,會記錄下來接口設(shè)置這個菜單的相關(guān)信息,同時會保存它上一級菜單,即Utility菜 單。解析完成之后會將接口設(shè)置的菜單項繪制到菜單上。(見圖5)4.繼續(xù)按網(wǎng)絡(luò)設(shè)置鍵,執(zhí)行的過程跟上述過程相同,此時的當(dāng)前菜單被切換到“網(wǎng) 絡(luò)設(shè)置”上。它保存著它的上一級菜單,即“接口設(shè)置”。而“接口設(shè)置”菜單保存著它的上 級菜單-“輔助”,這樣逐級檢索,便將之前所作的操作的菜單路徑全部記錄下來,參見圖3。下面對該數(shù)字示波器系統(tǒng)操作進(jìn)行簡單介紹圖6的中間部分為系統(tǒng)運行界面,兩側(cè)為屏幕兩端的按鍵,它們的功能跟屏幕上 顯示的菜單相對應(yīng)。如右側(cè)第一個按鍵對應(yīng)的功能是LAN設(shè)置,第二個按鍵對應(yīng)的功能是 USB設(shè)備。儀器的面板上有很多帶有符號的按鍵。這些符號直接表示了這些按鍵的功能。 就是說按相應(yīng)的按鍵,屏幕的菜單會跟隨其進(jìn)行切換。例如屏幕上有一個按鍵的名字是 Utility,按下該按鍵,菜單會切換成為圖4所示的樣子。每個菜單都由兩部分組成,分別是 菜單頭和菜單項。菜單頭用來表示該菜單的整體功能及其菜單路徑。菜單項則表示具體的 功能,它與右側(cè)的按鍵對應(yīng)。系統(tǒng)的具體運行流程見圖7。此處按照圖中標(biāo)注的標(biāo)號介紹。1、按下按鍵。首先要解析鍵值,就是檢測按下的是哪個鍵,按了幾次。這里我們舉 例按下的是Utility鍵,按了一次。2、將解析出來的按鍵信息與具體的功能對應(yīng)。比如按下Utility按鍵,就是要將 菜單切換到Utility菜單下面。3、功能消息一方面執(zhí)行具體的功能,一方面提供給界面繪制部分,界面的繪制部 分會根據(jù)發(fā)送過來的功能來繪制具體的界面。這里主要介紹界面菜單的繪制。菜單繪制部分有一個用來保存繪制菜單所需要資源的資源表。這個資源表里記錄著每個菜單的菜單頭和菜單項的內(nèi)容。如果不是第一級菜 單,它會記錄著它上一級菜單的菜單頭。如圖3所示,為菜單分級顯示圖。此時的當(dāng)前菜單 為“網(wǎng)絡(luò)設(shè)置”,它是一個第三級菜單。它保存著自己的要素,同時保存著它上一級菜單的菜 單頭-“接口設(shè)置”。而“接口設(shè)置”作為一個二級菜單,它保存著自己要素的同時,也記錄 著它的上級菜單的菜單頭,也就是“輔助”。這樣在繪制“網(wǎng)絡(luò)設(shè)置”菜單時,會先去資源表 中找到它自身的資源,然后逐級搜索到各級的菜單頭,并進(jìn)行繪制。
權(quán)利要求
1.一種菜單分級顯示方法,其特征在于包括以下步驟1)建立資源表,在該資源表里記錄著每級菜單的內(nèi)容,每級菜單的內(nèi)容包括本級菜單 頭、本級菜單項以及上一級菜單的菜單頭;2)建立資源表中的各級菜單與按鍵的鍵值的對應(yīng)關(guān)系;3)獲取按鍵的鍵值消息;4)解析獲取的鍵值消息;5)根據(jù)解析結(jié)果取出對應(yīng)級的菜單進(jìn)行繪制。
2.如權(quán)利要求1所述的菜單分級顯示方法,其特征在于 所述步驟幻的具體步驟包括5. 1)首先根據(jù)解析結(jié)果從資源表取出對應(yīng)級的菜單內(nèi)容; 5. 2)接著從本級向上逐級搜索各上級菜單的菜單頭;5. 3)最后在屏幕上繪制各上級菜單的菜單頭、本級菜單的菜單頭、本級菜單項。
3.如權(quán)利要求1或2所述的菜單分級顯示方法,其特征在于 所述鍵值消息包括按鍵鍵值、按鍵次數(shù)及按鍵狀態(tài)。
全文摘要
本發(fā)明涉及一種菜單分級顯示方法,其包括以下步驟1)建立資源表,在該資源表里記錄著每級菜單的內(nèi)容,每級菜單的內(nèi)容包括本級菜單頭、本級菜單項以及上一級菜單的菜單頭;2)建立資源表中的各級菜單與按鍵的鍵值的對應(yīng)關(guān)系;3)獲取按鍵的鍵值消息;4)解析獲取的鍵值消息;5)根據(jù)解析結(jié)果取出對應(yīng)級的菜單進(jìn)行繪制。本發(fā)明可清楚地顯示出各個菜單之間的從屬關(guān)系,使用戶更方便地查看當(dāng)前所作操作的路徑,因而不容易誤操作。
文檔編號G06F3/048GK102053826SQ20091023739
公開日2011年5月11日 申請日期2009年11月10日 優(yōu)先權(quán)日2009年11月10日
發(fā)明者李維森, 王悅, 王鐵軍 申請人:北京普源精電科技有限公司