プログレスバーコントロールの使い方は?

無料無料技术资料

这篇内容可直接阅读,适合用于基础学习和検索引流。

プログレスバーコントロールの使い方は?

プログレスバーコントロールとは?

プログレスバーコントロールの使い方は?插图

プログレスバーコントロールは、特定の数値変更効果を画面上に視覚的に反映することができ、テキストコントロール、スライダーコントロール、ボタンコントロールと組み合わせて使用できます。

このルーチンではプログレスバーコントロールのプロパティ、一般的なアプリケーションを紹介し、プロジェクト中の画面と合わせて各アプリケーションの設定を紹介し、一般的なアプリケーションは次のとおりです。

  1. 起動プログレスバー:MCUは起動時に画面にデータを送信し、画面プログレスバーの効果が自動的に増加します。
  2. コントロール連動:プログレスバー、スライダ、テキストコントロール三方データ連動更新を実現
  3. 増分調整:ボタンコントロールとプログレスバーコントロールの関連付けにより、ボタンによってプログレスバーの増加と減少を実現する

カテゴリー:Full Series

ダウンロードリンク:シリアルスクリーンプログレスバー制御アプリケーション”クリックジャンプ

3.1.プログレスバーのコントロールプロパティ

プログレスバーコントロールの使い方は?插图1

初期値の設定

プログレスバーコントロールは範囲の開始位置を表示します

値の終了

プログレスバーコントロールは、範囲の終了位置を表示します

初期値は

初期化時にプログレスバーが示す位置

スライド通知

以下のように、“禁止”、“[スライド通知]を許可”、“[解除通知]を許可”、“スライドバーを関連付ける”に設定できます。

  • 禁止進行状況バーをスライド禁止に設定
  • [スライド通知]:プログレスバーをスライド可能に設定し、スライドしながら通知データを送信します。
  • [解除通知]:プログレスバーをスライド可能に設定し、解除時に通知データを送信します。
  • スライダーの関連付け:カーソルをドラッグしてプログレスバーの値を変更できるスライダーコントロールに関連付けられた設定

数値表示。

プログレスバーの数値表示方法を設定します。以下のように、[非表示]、[中央表示]、[終了表示]に設定できます。

  • フォントプログレスバーに数値を表示するフォントサイズを設定します。
  • 文字の色:プログレスバーに数値を表示する文字の色を設定します。
  • “パーセント記号の表示”プログレスバーの数値をパーセント記号で表示するかどうかを設定します。“はい”または“いいえ”を設定できます。

プログレスバーの種類

コントロールの範囲内で進行状況バーを表示する方向を設定します。“水平/左”、“水平/右”、“垂直/上”、“垂直/下”に設定できます。

背景の種類

プログレスバーの背景の種類を設定します。“透明”、“単色背景”、“背景画像”に設定できます。

  • 背景色:[背景の種類]を“モノクロ背景”に設定した場合、パレットから背景色を設定できます。
  • 背景画像:“背景タイプ”を“背景画像”に設定した場合、ここに画像UIを挿入することでプログレスバーの背景として設定できます。

見通しの種類

プログレスバーの前景タイプを設定します。“単色前景”、“前景画像”に設定できます。

  • 前景色:[前景タイプ]を“単色前景”に設定した場合、パレットから前景色を設定できます。
  • 前景画像:“前景タイプ”が“前景画像”に設定されている場合、ここに画像UIを挿入することでプログレスバーの前景に設定できます。

3.2スタートアッププログレスバーの適用

画面の電源が入ると、プログレスバーコントロールを使用して、特定のステップ値に従って表示を増やし、ユーザーエクスペリエンスを向上させることができます。

画面の設定

【プログレスバー機能】画面の“背景画像”対応するアートワークをインポート

プログレスバーコントロールの使い方は?插图2

プロパティの構成

“数値表示”を“終端表示”、“パーセント記号表示”、“背景タイプ”を“透明”、“前景タイプ”を“前景画像”、“前景画像”に用意したUI画像を挿入し、以下のように構成します。

プログレスバーコントロールの使い方は?插图3

プレビューの実行

Virtual ScreenとVisual TFTを実行してオンラインを確立し、コマンドアシスタント(プログレスバー/メーター/スライダ)で進行状況をドラッグして起動の進行状況をシミュレートします。

プログレスバーコントロールの使い方は?插图4

外部MCU制御

参照開発パッケージkeilプログラムのhim.dever.hファイル関数宣言とhim.dever.cファイルの定義。例えば、ユーザはルーチン中の“起動プログレスバー”の効果を実現する必要があり(プログレスバーは“0-100”サイクルから増加する)、プログレスバー制御値更新関数SetProgressValueを直接呼び出すことができます。コードは次のようになります。

/** **********************************************************************
** 名    void SetProgressValue uint16 screen_id
**                                          uint16 control_id、
**                                          uint32 value;
** 詳細はこちら    ProdNameプログレスバーのコントロール値の設定
** input parameters 
**                    screen_id画面ID [screen_id画面ID]
**                    control_idコントロールIDコントロールID
**                    valueの意味     Essbase設定の数値
** output parametersなし
** Returned value    CLARiXなし
************************************************************************/
uint 8 Start_Progress = 0;

/*!
* briefアップグレードプログレスバーの値
*/
void UpdateUI
{
    if_screen_id == 0
    {
        start_progress += 1
        if Start_Progress 100
        {
            スタートアップ= 0;
        }    
        SetProgressValue 0 1 Start_Progress;//設定画面0 ID1プログレスバーのコントロール値
    }
}

3.3制御の連携アプリケーション

プロパティの構成

テキストコントロール構成、進行状況バーコントロール、スライドバーコントロールのプロパティは、次のとおりです。

テキストコントロールのプロパティ
プログレスバーコントロールの使い方は?插图5
プログレスバーのコントロールプロパティ
プログレスバーコントロールの使い方は?插图6
スライダコントロールプロパティすらいだこんとろーるぷろぱてぃ
プログレスバーコントロールの使い方は?插图7

外部MCU制御

例えば、ユーザーは[0-100]スライダーコントロールを実装し、カーソルが“88”にスライドすると、プログレスバーとテキストコントロールの値が同時に“88”に更新されます。または、ポップアップキーボードでテキストを入力するときに、テキスト値の変化に応じてプログレスバーの値が更新され、プログレスバーのコントロール通知関数NotifyProgressとテキストコントロール通知関数NotifyTextを直接呼び出すとよい。

/** **********************************************************************
** 名    void NotifyProgress uint16 screen_id
**                                        uint16 control_id、
**                                        uint32 value;
** 詳細はこちら    ProdNameプログレスバーのコントロール通知を設定する
** input parameters 
**             screen_id画面ID [screen_id画面ID]
**            control_idコントロールIDコントロールID
**                 valueプログレスバーのコントロール値
** output parametersなし
** Returned value   CLARiXなし
************************************************************************/
void NotifyProgress(uint16 screen_id, uint16 control_id, uint32 value)
{
    if screen_id == 0_id == 3
    {
        SetTextInt32 0,2 value 0,1;//関連するプログレスバーの値は画面0、ID2のテキストコントロールに割り当てられます。
    }
} 
/** **********************************************************************
** 名    void NotifyText uint16 screen_id
**                                    uint16 control_id、
**                                    uint8 *;
** 詳細はこちら    - テキストコントロール通知の設定
** input parameters
**              screen_id画面ID [screen_id画面ID]
**             control_idコントロールIDコントロールID
**                    strテキストコントロールの内容[strてきすとこんとろーるのこんてん]
** output parametersなし
** Returned value   CLARiXなし
************************************************************************/
void NotifyText(uint16 screen_id, uint16 control_id, uint8 *str)
{
    int 32 = 0の値
    if screen_id == 0 control_id == 2
    {
        sscanf str ' %ld"value;//文字を整数に変換
        SetProgressValue(0,3,value);//テキストコントロール画面0,ID3のプログレスバーコントロールに割り当てられた数値
    }
}

3.4プログレスバー進捗調整

進行状況バーのコントロール、ボタンのプロパティは次のとおりです。

テキストコントロールのプロパティ
プログレスバーコントロールの使い方は?插图5
プログレスバーのコントロールプロパティ
プログレスバーコントロールの使い方は?插图8

外部MCU制御

例えば、ユーザがプログレスバーの値を設定して、一度呼び出すと、関数SetProgressValueであれば、コードは次のようになります。

/** **********************************************************************
** 名    void SetProgressValue uint16 screen_id
**                                          uint16 control_id、
**                                          uint32 value;
** 詳細はこちら    ProdNameプログレスバーのコントロール値の設定
** input parameters 
**                    screen_id画面ID [screen_id画面ID]
**                    control_idコントロールIDコントロールID
**                    valueの意味     Essbase設定の数値
** output parametersなし
** Returned value    CLARiXなし
************************************************************************/

{
    ......
    SetProgressValue 0 1 Start_Progress;//設定画面0 ID1プログレスバーのコントロール値
    ......
}
関連タグ
この資料を実際のプロジェクトに活用しませんか?

ツールセンターで電文解析、CRCチェック、デバイスデバッグを行うか、要件を送信して選定と接続のアドバイスを受けましょう。

エンジニア会員

この記事を実行可能なデバッグ資料に

登録すると、高度な電文解析、資料パックのダウンロード、コード例、エンジニアリングケース、優先技術サポートが利用可能に。実際のプロジェクト納品に最適です。

高度なツール無制限
資料パックとコードパック
完全なエンジニアリングケースライブラリ
優先技術サポート窓口

发表回复

あなたのメールアドレスアドレス不会被公开。 必須項目已用 * 标注