天天看點

【STM32H7】第28章 ThreadX GUIX滾輪控件實作參數調節第28章       ThreadX GUIX滾輪控件實作參數調節

最新教程下載下傳: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 初學者重要提示

  1.   務必看第11章學習GUIX Studio的使用方法和第12章學習GUIX Studio生成的代碼移植到硬體平台的方法。
  2.   本章配套例子制作了一個年月日設定案例,實際項目用到的類似場景比較多。

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軟體平台使用。

實驗目的:

  1. 本章主要學習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 總結

本章節主要為大家講解了滾輪控件的使用方法,非常實用,大家可以嘗試自己也建立一個滾輪控件效果展示。