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

プログレスバーコントロールは、特定の数値変更効果を画面上に視覚的に反映することができ、テキストコントロール、スライダーコントロール、ボタンコントロールと組み合わせて使用できます。
このルーチンではプログレスバーコントロールのプロパティ、一般的なアプリケーションを紹介し、プロジェクト中の画面と合わせて各アプリケーションの設定を紹介し、一般的なアプリケーションは次のとおりです。
- 起動プログレスバー:MCUは起動時に画面にデータを送信し、画面プログレスバーの効果が自動的に増加します。
- コントロール連動:プログレスバー、スライダ、テキストコントロール三方データ連動更新を実現
- 増分調整:ボタンコントロールとプログレスバーコントロールの関連付けにより、ボタンによってプログレスバーの増加と減少を実現する
カテゴリー:Full Series
ダウンロードリンク:シリアルスクリーンプログレスバー制御アプリケーション”クリックジャンプ
3.1.プログレスバーのコントロールプロパティ

初期値の設定
プログレスバーコントロールは範囲の開始位置を表示します
値の終了
プログレスバーコントロールは、範囲の終了位置を表示します
初期値は
初期化時にプログレスバーが示す位置
スライド通知
以下のように、“禁止”、“[スライド通知]を許可”、“[解除通知]を許可”、“スライドバーを関連付ける”に設定できます。
- 禁止進行状況バーをスライド禁止に設定
- [スライド通知]:プログレスバーをスライド可能に設定し、スライドしながら通知データを送信します。
- [解除通知]:プログレスバーをスライド可能に設定し、解除時に通知データを送信します。
- スライダーの関連付け:カーソルをドラッグしてプログレスバーの値を変更できるスライダーコントロールに関連付けられた設定
数値表示。
プログレスバーの数値表示方法を設定します。以下のように、[非表示]、[中央表示]、[終了表示]に設定できます。
- フォントプログレスバーに数値を表示するフォントサイズを設定します。
- 文字の色:プログレスバーに数値を表示する文字の色を設定します。
- “パーセント記号の表示”プログレスバーの数値をパーセント記号で表示するかどうかを設定します。“はい”または“いいえ”を設定できます。
プログレスバーの種類
コントロールの範囲内で進行状況バーを表示する方向を設定します。“水平/左”、“水平/右”、“垂直/上”、“垂直/下”に設定できます。
背景の種類
プログレスバーの背景の種類を設定します。“透明”、“単色背景”、“背景画像”に設定できます。
- 背景色:[背景の種類]を“モノクロ背景”に設定した場合、パレットから背景色を設定できます。
- 背景画像:“背景タイプ”を“背景画像”に設定した場合、ここに画像UIを挿入することでプログレスバーの背景として設定できます。
見通しの種類
プログレスバーの前景タイプを設定します。“単色前景”、“前景画像”に設定できます。
- 前景色:[前景タイプ]を“単色前景”に設定した場合、パレットから前景色を設定できます。
- 前景画像:“前景タイプ”が“前景画像”に設定されている場合、ここに画像UIを挿入することでプログレスバーの前景に設定できます。
3.2スタートアッププログレスバーの適用
画面の電源が入ると、プログレスバーコントロールを使用して、特定のステップ値に従って表示を増やし、ユーザーエクスペリエンスを向上させることができます。
画面の設定
【プログレスバー機能】画面の“背景画像”対応するアートワークをインポート

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

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

外部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制御の連携アプリケーション
プロパティの構成
テキストコントロール構成、進行状況バーコントロール、スライドバーコントロールのプロパティは、次のとおりです。
テキストコントロールのプロパティ

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

スライダコントロールプロパティすらいだこんとろーるぷろぱてぃ

外部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プログレスバー進捗調整
進行状況バーのコントロール、ボタンのプロパティは次のとおりです。
テキストコントロールのプロパティ

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

外部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プログレスバーのコントロール値
......
}
发表回复