最新教程下載下傳:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429
第28章 ThreadX GUIX滾輪控件實作參數調節
本章節為大家講解GUIX的滾輪控件實作參數調節,非常實用。
28.1初學者重要提示
28.2 GUIX Studio建立視窗
28.3 GUIX回調事件處理
28.4 實驗例程設計架構
28.5 實驗例程
28.6 總結
28.1 初學者重要提示
- 務必看第11章學習GUIX Studio的使用方法和第12章學習GUIX Studio生成的代碼移植到硬體平台的方法。
- 本章配套例子制作了一個年月日設定案例,實際項目用到的類似場景比較多。
28.2 GUIX Studio建立視窗
我們這裡設計了一個視窗,界面大小800*480:
28.2.1 主視窗設定
主視窗大小800*480,注意注意合理配置一個Widget Id,後面要用到:
另外還專門設定了一個回調函數:
28.2.2 日期更新控件
日期更新是采用的Prompt檔案控件實作,注意Widget Id,後面要用到:
并注意開啟運作時動态更新:
28.2.3 滾輪控件設定
GUIX有三種滾輪控件,分别是Generic Scroll Wheel,Numeric Scroll Wheel和String Scroll Wheel。我們這裡使用的是Numeric Scroll Wheel。
添加方法如下,依次添加了三個,分别用于年月日設定:
我們這裡以年設定為例進行說明,Widget id設定為GUI_ID_NSCROLLWHELL0:
然後是下面幾個參數設定:
- Total Rows
這個是總行數設定。我們這裡設定了30個。
- Selected Row
表示目前選中的行。從0開始計數。
- Row Height
表示行高度。
- Fade Edge Value
表示控件邊緣的透明度,0表示完全不透明,255表示完全透明。
- Fade Center Value
表示控件中心位置的透明度,0表示完全不透明,255表示完全透明。
- Start Val
表示起始數值。
- End Val
表示結束數值,注意設定的數字範圍跟參數Total Rows比對。
28.3 GUIX回調事件處理
滾輪控件調節後,可以在回調函數裡面擷取滾輪數值,回調代碼如下:
- 滾輪控件的更新後,可以通過函數gx_scroll_wheel_selected_get擷取目前選中的位置索引,注意是從0開始的。滾輪的句柄window.window_numeric_scroll_wheel。
- 日期更新使用的文本控件Prompt,大家通過滾輪設定時間後,點選Promp檔案控件所在位置就會更新為最新的設定數值。
gx_prompt_text_set(&(window.window_prompt), buf);
28.4 實驗例程設計架構
本章例程的重點是滾輪控件的使用方法。
28.5 實驗例程
(注,如果是電阻屏,需要做觸摸校準,校準方法看本教程附件章節A)
配套例子:
本章節配套了如下兩個例子供大家移植參考:
- V7-2039_GUIX Scroll Wheel
GUIX Studio生成的代碼在硬體平台實際運作的工程,含有GCC,IAR,MDK AC5和AC6四個版本工程。
- V7-2040_GUIX Studio Scroll Wheel
GUIX Studio工程模闆,設計界面後,生成的檔案可直接添加到MDK,IAR和GCC軟體平台使用。
實驗目的:
- 本章主要學習GUIX的滾輪控件參數調節。
實驗内容:
1、共建立了如下幾個任務,通過按下按鍵K1可以通過序列槽列印任務堆棧使用情況
- App Task Start任務 :啟動任務,這裡用作BSP驅動包處理。
- App Task MspPro任務 :消息處理,這裡用作LED閃爍。
- App Task UserIF任務 :按鍵消息處理。
- App Task GUI任務 :GUI應用任務。
- App Task STAT任務 :統計任務。
- App Task IDLE任務 :空閑任務。
- GUIX System Thread :GUI系統任務。
- System Timer Thread任務:系統定時器任務。
實驗效果:
GUIX Studio的界面設計如下:
序列槽列印任務執行情況:
IAR,MDK AC5和AC6工程可以序列槽列印任務執行情況:按開發闆的按鍵K1可以列印,波特率 115200,資料位 8,奇偶校驗位無,停止位 1:
Embedded Studio(GCC)平台的序列槽列印是通過其調試元件SEGGER RTT做的序列槽列印,速度也非常快,列印效果如下:
展示裡面有亂碼是因為Embedded Studio不支援中文。
28.6 總結
本章節主要為大家講解了滾輪控件的使用方法,非常實用,大家可以嘗試自己也建立一個滾輪控件效果展示。