基于WinCE的高速工業(yè)繡花機(jī)人機(jī)界面設(shè)計(jì)與實(shí)現(xiàn)
在CTabSheet類中用到AddPage方法,用于記錄子對(duì)話框的指針和所使用對(duì)話框資源的ID號(hào)。在使用AddPage加入了若干子對(duì)話框后,調(diào)用CTabSheet的Show方法來真正生成標(biāo)簽和子對(duì)話框。生成好標(biāo)簽和子對(duì)話框后,調(diào)用CTabSheet∷SetRect()函數(shù)來計(jì)算并調(diào)整屬性頁(yè)的大小。在單擊標(biāo)簽欄后,應(yīng)該是相應(yīng)的子對(duì)話框顯示,正在顯示的子對(duì)話框應(yīng)該隱藏。因此利用ClassWizard來處理WM_LBUTTONDOWN消息。這樣利用CTabSheet類就可以輕松地在對(duì)話框上放置自己的屬性頁(yè)了,并且控件都分散在各子對(duì)話框類中,符合對(duì)象封裝的思想。而且用這個(gè)方法來制作屬性頁(yè)就可以利用ClassWizard來輕松地生成消息映射處理Tab Control的消息了。使用這個(gè)類,可以將參數(shù)設(shè)置各頁(yè)面的封裝對(duì)象關(guān)聯(lián)起來,起到分頁(yè)顯示作用。每個(gè)頁(yè)面使用一個(gè)類來封裝數(shù)據(jù)成員和成員函數(shù)。應(yīng)用程序中操作的對(duì)象可以是連續(xù)的,即應(yīng)用程序退出時(shí)將用戶數(shù)據(jù)保存到磁盤上,在程序重新啟動(dòng)時(shí)恢復(fù)它們,這個(gè)保存和恢復(fù)的過程稱為串行化。MFC中有一個(gè)特定類CSerialize,支持對(duì)象的串行化。并利用CArchive類對(duì)象作為執(zhí)行串行化對(duì)象和存儲(chǔ)介質(zhì)之間的中繼,執(zhí)行串行化的對(duì)象可以使用CArchive類對(duì)象進(jìn)行讀寫操作。參數(shù)設(shè)置界面中用到的全局變量包含在2個(gè)從CObject類派生的CDesignParams和CGlobalV中,使用這2個(gè)類中的重載成員函數(shù)CGlobalV∷Serialize(CAr-chive& ar)、CDesignParams∷Serialize(CArchive& ar)進(jìn)行實(shí)際的串行化操作。通過以上的串行化技術(shù)就可以保存參數(shù)設(shè)置中用戶設(shè)置的參數(shù),在程序退出時(shí)這些參數(shù)設(shè)置可以被存儲(chǔ),程序啟動(dòng)后被讀入。參數(shù)設(shè)置界面的實(shí)現(xiàn)如圖4所示。
3.4 磁盤管理模塊
磁盤管理界面是使用一個(gè)CDiskManagement類來封裝花樣管理界面中用到的數(shù)據(jù)成員和成員函數(shù)。用戶通過觸摸屏進(jìn)行操作時(shí),系統(tǒng)的消息循環(huán)隊(duì)列中會(huì)產(chǎn)生相應(yīng)的消息。根據(jù)消息中的窗口句柄,系統(tǒng)將消息發(fā)送到目標(biāo)窗口,并自動(dòng)啟動(dòng)相應(yīng)的窗口過程函數(shù)來響應(yīng)。當(dāng)用戶點(diǎn)擊“輸入花樣文件”按鈕,將調(diào)用花樣拷貝函數(shù)進(jìn)行花樣格式轉(zhuǎn)換、縮略圖的生成并保存到機(jī)器內(nèi)存。點(diǎn)擊其他的按鈕亦將產(chǎn)生相應(yīng)的功能操作。磁盤管理界面的實(shí)現(xiàn)如圖5所示。
4 測(cè)試與結(jié)論
人機(jī)界面作為人與高速工業(yè)繡花機(jī)信息交互的樞紐,必須將機(jī)器信息實(shí)時(shí)、準(zhǔn)確而且容易識(shí)別的方式傳遞給機(jī)器操作人員,才能達(dá)到人與機(jī)器的最佳配合。而基于Windows CE操作系統(tǒng)制作的人機(jī)界面能夠很好地滿足這個(gè)要求并提供更美觀、更友好和人性化的界面,它將在嵌入式產(chǎn)品中應(yīng)用越來越廣泛。
評(píng)論