新聞中心

        EEPW首頁 > 消費電子 > 牛人業話 > 面向對象的界面編程-嵌入式微系統連載之九

        面向對象的界面編程-嵌入式微系統連載之九

        作者: 時間:2014-09-23 來源:網絡 收藏

          msOS采用128*64的字庫黑白屏,降低硬件設計復雜度,這個屏一行可以顯示8個漢字或者16個字母,總共4行。界面開發基于方式,把界面抽象為幾個頁面,而頁面又由控件組成,以我做的高頻機為例,抽象了5個頁面,每個頁面上都由背景文字、標簽和文本組成。

        本文引用地址:http://www.104case.com/article/263244.htm

          

         

          上圖為工作頁面,由一張背景文字(BackText),兩個文本(TextBox)和五個標簽(Label)組成。背景文字用于顯示固定的說明文字,比如頻率、功率等,這些文字在這個頁面下是固定不能變化的。標簽控件用于顯示變量值,可以是字符串也可以是數字。文本控件具有標簽的功能外,還可以通過按鍵等修改變量值。以上三種控件構成了最常用的頁面。

          接觸過PC機的,對于控件概念是非常容易接受的,若沒有接觸過,可以通過msOS配套的硬件開發平臺msPLC Demo了解界面,這樣會相對容易很多,此外也可以接觸一下C#,從跟msOS配套的msMenu源碼入手,這個msMenu源碼比較簡單,在PC機上用C#虛擬了128*64的黑白字庫屏。有了msMenu,各類STM32F103的開發板都可以運行msOS,通過串口跟PC機通訊,在msMenu上顯示,不需要硬件LCD屏,方便大家學習。msMenu的兩個主顯示區,就是由兩個大的TextBox組成。

          下圖為msMenu

          

         

          界面編程基于設計,首先要建立頁面及各個控件的對象類型。下圖為頁面的對象類型。

          

         

          BackTextPointer:背景文字控件加載點,是一個16*4字節的數組,作為頁面背景。

          ChartPointer:圖表控件加載點,高頻機項目中用到,是一個特殊控件,一般項目用不到。

          LabelPointer:標簽控件加載點,一個Form可以支持多個Label,需要支持多控件級聯。

          TextBoxPointer:文本控件加載點,一個Form可以支持多個TextBox,需要支持多控件級聯。

          FocusTextBoxDataPointer:文本控件操作選擇,設定焦點用于選擇那個文本控件用于輸入。

          

         

          

         

          設計程序的時候,第一步要建立頁面Form,如下圖:

          

         

          第二步,定義各種控件和資源。

          

         

          第三步,各個頁面加載控件,初始化控件參數,關聯業務邏輯數據庫中的數據。

          

         

          第四步,執行MenuTask解析當前頁面

          

         

          msOS采用的菜單界面,非常簡單,是一個架構性的菜單界面,很適合用戶看懂之后,自己修改、增刪,也可以應用于彩屏。菜單界面的細節部分,請參考源碼。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东乌珠穆沁旗| 张家口市| 庄浪县| 肥西县| 桓台县| 五河县| 阿克陶县| 梁河县| 五华县| 克山县| 金溪县| 漾濞| 新宁县| 家居| 宜黄县| 柳江县| 清水县| 馆陶县| 广水市| 信丰县| 宿迁市| 虹口区| 奉贤区| 温泉县| 阿坝县| 德江县| 固始县| 隆林| 谢通门县| 蒙阴县| 安达市| 客服| 徐闻县| 长岭县| 巫溪县| 浙江省| 英德市| 敦煌市| 中超| 安图县| 始兴县|