超聲波自動探傷設(shè)備菜單設(shè)置
超聲波自動探傷設(shè)備操作臺的菜單就指程序進(jìn)行中顯示在屏幕上的選項(xiàng)列表,或者所提供服務(wù)的清單。好的菜單格局可以使操作簡單易行,提高探傷人員的工作效率。經(jīng)過考慮,我們使用屏幕右側(cè)的豎條區(qū)域顯示探傷儀的菜單,這樣菜單由上至下依次列出,便于選擇,一目了然。繪制菜單主要用到繪制直線邊框、輸出文字、繪制選擇子菜單的標(biāo)志。邊框和標(biāo)志用之前介紹的 Rectangle、MovoTo、LineTo、FillBox 等函數(shù)很容易繪制,而輸出文字則要用到 MiniGUI 提供的TextOut 函數(shù)。TextOut 的原型是 TextOut (hdc, px, py, Str),用于以 (px, py) 為起點(diǎn)輸出文字 Str。一般應(yīng)用程序用到 TextOut 之前,都要先用到字符串打印函數(shù) sprintf 將所需顯示的字符打印到某變量,再顯示到屏幕上;或者用要打印的內(nèi)容直接定義 Str。前者的好處在于,可以對變量進(jìn)行重新賦值或者進(jìn)行strcat(字符串連接)等字符串操作,并且可以多次使用同一變量,簡化編程語句。
當(dāng)用軟件繪制菜單時,還要用到菜單的參數(shù)值,包括菜單的名字和對應(yīng)項(xiàng)當(dāng)前的參數(shù)值。我們專門選用了指針數(shù)組管理菜單參數(shù)。首先把菜單的名字賦給指針數(shù)組中的元素(字符串的首地址),在選擇相應(yīng)的選項(xiàng)時,就可以通過這些首地址輸出正確的菜單名字。對應(yīng)的參數(shù)值有數(shù)值類型和開關(guān)類型之分,數(shù)值類型即當(dāng)前要調(diào)節(jié)對象的實(shí)際數(shù)值,開關(guān)類型則是所選服務(wù)是開啟還是關(guān)閉。實(shí)際數(shù)值我們可以借助字符串打印函數(shù) sprintf 來賦值,開關(guān)類型則通過指針數(shù)組來賦值。
當(dāng)某一項(xiàng)子菜單被選中時,軟件在該子菜單后面畫出“?”提示符,表示已選中該子菜單項(xiàng);對于具有粗調(diào)和微調(diào)的子菜單,重復(fù)地按同一個鍵可以在粗調(diào)和微調(diào)之間來回切換,軟件在子菜單名字后面顯示“*”號表示微調(diào)。粗調(diào)和微調(diào)的調(diào)節(jié)方式一樣,但調(diào)節(jié)步進(jìn)值不同。繪制的菜單如圖 4-3 所示。通過與鐵路合作方的討論和對于鋼軌探傷實(shí)際操作的研究,我們確定了超聲鋼軌探傷儀的菜單布局。主菜單共設(shè)置基本、增益、閘門起位、閘門寬度、存儲、預(yù)置、設(shè)定等七個,每一個主菜單包括不多于九項(xiàng)子菜單。
基本菜單用來設(shè)定探傷儀探傷的方式;增益菜單用來調(diào)節(jié)各個通道的增益;閘門菜單用于設(shè)定和調(diào)節(jié)閘門的相關(guān)參數(shù);設(shè)定和預(yù)置菜單用來設(shè)定探傷儀儀器的性能參數(shù);存儲菜單用于探傷數(shù)據(jù)的管理和存儲。