• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

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

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

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

    本文引用地址:http://www.czjhyjcfj.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采用的菜單界面,非常簡單,是一個架構性的菜單界面,很適合用戶看懂之后,自己修改、增刪,也可以應用于彩屏。菜單界面的細節部分,請參考源碼。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 雅江县| 临江市| 玉溪市| 宁化县| 普格县| 连江县| 岐山县| 通江县| 金沙县| 泸州市| 商城县| 达拉特旗| 邵阳县| 边坝县| 砀山县| 泰宁县| 临武县| 高淳县| 苍溪县| 长沙县| 阳谷县| 和硕县| 井冈山市| 洛南县| 武威市| 鹿泉市| 阳曲县| 忻城县| 宿松县| 鞍山市| 六枝特区| 峨边| 于田县| 滨州市| 锡林浩特市| 洞口县| 庐江县| 大新县| 金昌市| 积石山| 大兴区|