Visual HMIテキストカラーコントロール:on_wgt_text_colorテーマの一括切り替え

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

テキストカラーコントロール(カスタムファームウェア専用)グローバル文字の色一括設定インタフェースすべてのテキストクラスコントロールのテキスト前景を動的に変更するコールバック関数で、個別に設定することはありません。典型的なシーンは、明るい背景に暗いテキスト、暗い背景に明るいテキスト、変数がグローバルテーマを制御する、昼/夜モードの切り替えです。

1.一括設定をサポートするコントロール

すべてのコントロールがこのインターフェースで色を付けることはできません。プログラマブル文字の色/描画色プロパティ{ぷろろめらぐたじすとのいろ/描画色プロパティ}参加者の参加:

コントロールの種類説明書は
静的テキスト最も直接的な役割
ビットステータスLED/マルチステータスLEDテーマごとにテキスト部分が変わる
ビットボタン/ワードボタン/ボタンボタンテキストボタン
選択ボックス/ホイールセレクタのドロップダウンオプション文字オプション文字
RTC時間表示。

Visual HMIテキストカラーコントロール:on_wgt_text_colorテーマの一括切り替えFigure

2.事前設定(2ステップ、必須)

ステップ1:コントロールグループ化機能をグローバルに有効にします。パス:エンジニアリングプロパティ→コントロールのグループ化→有効化これを無効にすると、グループIDを割り当てていても、実行時のすべてのコントロールはグループ関連のプロパティを無視します。

ステップ2:コントロールに有効なグループIDを割り当てます。カラーマネジメントに含める各コントロールについて、コントロールプロパティパネルで設定します。コントロールID0でなければなりません(0はデフォルトの無効な値で、“グループ化されていない”を意味します)。on_wgt_text_colorコールバックは、このIDでコントロールを区別します。

3. API:on_wgt_text_color(screen, control)

コントロール文字の色動的コールバック。システムはコントロールをリフレッシュするときにそれを呼び出し、戻り値をコントロールのテキスト色として取ります。

パラメータタイプの種類説明書は
screennumber複数のページで同じ名前のコントロールを区別するための現在の画面 ID
controlnumberターゲットコントロールID。Control ≠ 0の場合のみコールバックをトリガー

戻り値:colornumberカラーテーマロジック全体がこの1つの機能に含まれます。

4.応用ケース:マルチステートライト切り替えテーマ

画像のレイアウト:1マルチステータスLED色切り替えスイッチ(状態0~4は5つのテーマ色に対応)を行い、画面 IDを0に設定します。テキスト着色をサポートするコントロール(テキスト、ボタン、インジケータ、ドロップダウンボックス、スクロールホイール、RTC)のバッチを置き、コントロールIDを5に統一的に設定します。

LuaはコールバックでLW 300 0レジスタの値をカラーインデックスとして読み込み、対応するRGB565 色値を返します。

function on_w_text_color screen、
  ローカルカラー = 0 x 001 F           - デフォルトのブルー
  スクリーン== 0の場合
    制御の場合= 5 then
      local val = get_uint16 VT_LW、0 x 3000--カラーインデックス
      val == 0の場合
        カラー = 0 x 00 FF           【青】
      elseif val == 1 then
        カラー = 0 x 0 5 6 2           - 緑の
      elseif val == 2 then
        カラー = 0 x 042 9           - 深緑グリーン
      elseif val == 3 then
        カラー = 0 x 017 7           【青】
      elseif val == 4 then
        カラー = 0 x F 800           【赤】
      End of Endシングル
    End of Endシングル
  End of Endシングル
  print string.format "on_wgt_text_color % d、% d、% 04X" screen control color
  戻り色の色
End of Endシングル

仮想画面を実行し、色切り替えコントロールをポイントし、コントロールID 5のすべてのUI要素のテキスト色を同期して更新します。これが“ワンクリックテーマ切り替え”の効果です。

3つの穴エンジニアリングプロパティで制御グループ化を有効にする必要があります。または、IDが有効ではありません。制御IDは0にできません。0 =コールバックに参加しないグループ化;RGB565 色を返します。(上位5ビットR/中6ビットG/下位5ビットB)、set_pen_color、テキストの色プロパティと同じ色域セット、色定数のセットを直接コピーします。カスタムファームウェアにはこのインターフェイスがあり、通常のファームウェアにはない。

広州大彩科技Visual HMI開発ドキュメント(hmi-doc.gz-dc.com)LUAチュートリアル“テキストカラーコントロール”、著作権は大彩科技に帰属します。

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.