テキストコントロールとは

文字、数値などの変数は、テキストコントロールで表示できます。ユーザのホストコンピュータから入力することができます(ユーザマイクロコントローラ制御)、またはポップアップシステムキーボードまたはカスタムキーボードを設定してテキストコントロールに編集操作を入力することができます。
この章では、テキストコントロールのプロパティ、一般的なアプリケーションを紹介し、プロジェクト中の画面と合わせて各アプリケーションの構成を紹介します。一般的なアプリケーションは次のとおりです。
- テキストコントロールの更新:文字列、小数、正/負の数の表示を実装
- テキストコントロール入力:テキストボックスのクリック、ポップアップキーパッド、フルキーボード入力
- フォントアート表示フォントアートを使用したフォント効果の表示
- テキストの増分調整ボタン·コントロールによるテキストの小数、整数の増分調整の制御
2.1テキストコントロールのプロパティ
この章では、テキストコントロールのプロパティに焦点を当てます。プロパティウィンドウは次のとおりです。

テキストテキスト
ユーザー初期表示内容
フォントの種類
テキスト表示のフォントサイズとスタイルの选択
- シリアルスクリーンがサポートする文字列コード:ASCII、GB 2312、GBK、UNICODE
- ASCII:英文字、数字、記号など、漢字なし
- GB 2312簡体字漢字、繁体字なし、ASCII文字なし
- GBK:簡体字漢字と繁体字漢字、ASIIC、日韓語など
- UNICODE:フランス語、ロシア語、ペルシア語などの複数の国際言語をサポート
F/M/Hシリーズ、IoTプラットフォーム
このプラットフォームが生成する文字バンクはすべてベクトル文字バンクであり、フォントの実際のサイズは歪みなく任意に拡大縮小できます。最大で32個のフォントスタイルをサポートし、ユーザーが以下の“ASC_CHS_24”デフォルトフォントスタイルを選択すると、ASCはASCIIフォントスタイルを表し、CHSはGBK2312フォントスタイルを表し、24は表示フォントの高さが24個のピクセルを占めることを表す。

システムは共通のフォントスタイルを提供し、ユーザーは文字列をカスタマイズすることができる。Visual TFTソフトウェアのメニューバー、F/Mシリーズ、モノのプラットフォームでは、“ツール”→“ライブラリ設定”を選択して、以下のように、詳細に“エンジニアリングノート-ベクトルライブラリをカスタマイズする方法”ドキュメントを参照してください。

2.基本的なプラットフォーム
VisualTFTに付属するフォントスタイルは,以下のとおりである. ASCII 612は、英文字、数字、記号のみを表示し、かつフォントサイズは612ピクセルで、ASCIIスタイルはハーフワイド形式に属します。GBK2312は、簡体字のみを表示し、フォントサイズは32*32ピクセルで、GBK2312スタイルはハーフワイド形式に属します。GBK1212は、簡体字と繁体字漢字、ASIIC、日ハングルを表示し、フォントサイズは1212ピクセルで、GBKはハーフワイド形式に属します。

基本型プラットフォームでは、システムが提供するフォントスタイルに加えて、ユーザーは文字バンクをカスタマイズすることができます。Visual TFTソフトウェアのメニューバーで、[ツール] → [ライブラリ生成]を選択し、要件に応じてパラメータを設定することができます。

アート·ワード
カスタムまたは特殊フォントの表示を実現するために使用
- アイコンファイルワードアート用のアイコンファイルを挿入
- 小数点の幅小数点の幅のスケール

前景の色
フォントの色を以下のように設定します。

シリアル画面実行時、命令によって変更することもでき、詳細な命令は、コマンドアシスタントまたは“シリアル画面命令セットV 5.0.pdf”ドキュメントを参照することができます。
背景の種類
テキストコントロールの背景タイプは、透明、モノクロ、ピクチャー、モノクロ(選択すると表示)から選択できます。

1.透明:テキストコントロールの背景を透明にします。
2.単色:1色のみの背景で、“単色背景”とも呼ばれます。
3.画像:テキストコントロールの背景に画像を挿入します。

4.モノクロ(選択すると表示):テキストコントロールをタップしてキーボードをポップアップし、コントロールの背景色をモノクロ背景として透明などが表示されます。この機能を実現するには、【入力方式】を“イジェクトシステムキーボード入力(ユーザホスト入力可)”に設定する必要があります。以下のように[背景色]を緑色に設定します。

パスワード表示。
開くと、入力テキストは例えば、テキストが“0.9”の場合、“*”と表示されます。”、以下の通り

境界線の入力:
オンにすると、テキストコントロール入力時に境界線が表示されます
水平位置揃え/垂直位置揃え
文字の位置合わせを設定する
入力方法は
“ユーザーホスト入力”、“イジェクトシステムキーボード入力”、“カスタムキー入力”、“システム変数”に分かれています。次のように

ユーザーホスト入力
テキストはユーザーのホストによって入力され、シリアルポートを介してシリアルポート画面にコマンドが送信され、画面にデータが表示されます。次のように

システムのキーボード入力をイジェクトするユーザーのホストで入力可能
テキスト入力用にシステムキーボードを取り出し、キーボードの種類はキーパッドとフルキーボードから選択可能
- キーボードの種類キーパッドでは、次のように数値を入力できます。
フルキーボードでは、数字、英語の大/小文字、中国語を入力できます。
- ユーザがテキストボックスをクリックすると、キーボードの入力ボックスにプロンプト情報をポップアップします。以下のようにパスワードを入力してください。

- キーボード位置タッチテキストボックスポップアップ、キーボードの位置、自動と指定、指定モードに分かれて、次のように

- 初期値キーボードがポップアップされたときに、キーボードの入力表示バーに現在のテキスト値が表示されるかどうか
- テキストの長さ最大キーボード入力は255バイト
- ポップアップキーボードを数値限定する場合、キーボード入力の閾値を以下のように制限する

キー入力のカスタマイズ
テキストは、ボタンコントロールのカスタム入力と組み合わせてユーザーが入力します。ユーザーがキーボードスタイルを変更する場合は、“シリアルスクリーン”キーボードV_1.0のカスタマイズ方法を参照してください。

システム変数しすてむへんすう
シリアルスクリーンのファームウェアバージョン番号、通信ボーレートなどを表示するために使用できます。

テキストの長さ
テキスト入力の长さ。最大255バイト。
2.2テキストコントロールの更新適用
“テキストコントロール更新”画面、ユーザー機器とシリアルスクリーン通信を紹介するとき、ユーザー機器はシリアルスクリーンにコマンドを送信し、テキストコントロールの内容を更新します。
画面の設定
テキストコントロールの更新画面の“背景画像”に適切なアートワークをインポートします。次のように、この画面にテキストコントロールを追加します。

プロパティの構成
文字リスト示栏を例にとると、“テキスト”を“広州大彩”、“フォント”を“ASC_CHS_24”、“垂直揃え”を“垂直中央揃え”、“入力方式”を“ユーザホスト入力”とし、以下のようにします。
同様に、小数表示バー、負の数表示バー、整数表示バーでは、[テキスト]の初期値を“0.8”、“-8”、“18”の順に設定します。

プレビューの実行
仮想画面、Visual TFTソフトウェア、仮想画面“仮想シリアルポート”をオンラインで実行します。[コマンドアシスタント]を開き、左側のナビゲーションバー [テキストコントロール1]を選択し、[テキストコントロールの更新]コマンドのパラメータを設定します。
文字列の表示
画面(画面ID:0)中のテキストコントロール(コントロールID:1)に“テキスト”を“プレビュー実行”と入力し、“送信”をクリックします。バーチャル画面では、テキストコントロールはデフォルトの“ビートシンボル”から“実行プレビュー”として表示され、実行効果は以下のようになります。

小数の表示
画面(画面ID:0)中のテキストコントロール(コントロールID:2)に対して“テキスト”を“0.9”と入力し,“送信”をクリックすると,以下のように動作する.

負の表示
画面(画面ID:0)中のテキストコントロール(コントロールID:3)に“テキスト”を“-9”と入力し、“送信”をクリックすると、以下のようになります。

整数の表示
画面(画面ID:0)中のテキストコントロール(コントロールID:4)にテキスト[テキスト]を“19”と入力し,“送信”をクリックすると,以下のように動作する.

外部MCU制御
リファレンス開発パッケージkeilプログラム内のhim. dever.hファイル関数宣言およびhim. dever.cファイル内の定義
MUCテキスト文字リスト示の制御{{MUCてきすともじれつひょうじのせいぎょ}}
例えば、ユーザは“文字列バー表示バー”表示“実行プレビュー”を実現する必要がある場合、テキスト文字リスト示関数SetTextValueを直接呼び出すことができます。コードは次のとおりです。
/** **********************************************************************
** 名 void SetTextValue uint16 screen_id
uint16 control_id、
u *;
** tions テキスト文字リスト示の設定
** input parameters screen_id画面ID
** control_idコントロールIDコントロールID
** str表示される文字
** 出力パラメータ CLARiXなし
** Returned value CLARiXなし
************************************************************************/
{
……
SetTextValue 0 1“プレビューを実行”//画面ID0コントロールID1表示文字列“プレビューを実行”
……
}MUCコントロール正の整数、負の整数の表示
例えば、ユーザーは“負の表示バー”は“-9”を表示し、“正の表示バー”は“19”を表示する必要があり、テキストライブラリ表示関数SetText Int 32を直接呼び出すことができます。
/** **********************************************************************
** 名 void SetTextInt32 uint16 screen_id
uint16 control_id、
uint32 value
uint8 sign
uint8 fill_zero;
** 詳細はこちら - テキストを正/負の整数に設定
** input parameters screen_id画面ID
** control_idコントロールIDコントロールID
** value表示される整数
** sign:0-符号なし、1-符号あり
** fill_zero桁数、不足の場合は左にゼロを補えます。
** output parametersなし
** Returned value CLARiXなし
************************************************************************/
{
……
SetTextInt32 0 3-9 1 0//設定画面ID0コントロールID3表示-9
SetTextInt32 0 4 19 0 0//画面ID0コントロールID4表示19
……
}MUC制御小数の表示
例えば、ユーザーは“小数表示バー”表示“-0.9”を実現する必要がある場合、テキスト文字リスト示関数SetTextFloat()を直接呼び出すことができます。
/** **********************************************************************
** 名 void SetTextFloat uint16 screen_id
uint16 control_id、
float value
uint8 precision、
uint8 show_zeros;
** 詳細はこちら - テキストの単精度浮動小数点値/小数点の設定
** input parameters screen_id画面ID
** control_idコントロールIDコントロールID
** value表示された浮動小数点数
** precision: 小数の桁数
** show_zero:1の場合、末尾に0を表示します。
** output parametersなし
** Returned value : なしなし。
************************************************************************/
{
……
SetTextFloat 0 3 0.9 1,1//画面ID0コントロールID2表示0.9
……
}2.3テキストコントロールキーボード入力アプリケーション
“テキストコントロール入力”画面、シリアルスクリーンのテキストコントロールをクリックしてキーボードをポップアップし、データを入力し、ユーザーにデータを送信します。
画面の設定
テキストコントロール入力画面の“背景画像”で適切なアートワークをインポートします。以下のように、2つのテキストコントロール(コントロールID:1と2)を画面に追加します。

プロパティの構成
コントロールIDを1とすると、“テキスト”を“18.8”、“フォント”を“ASC_CHS_24”、“垂直揃え”を“中央揃え”、“入力方式”を“ポップアップシステムキーボード入力(ユーザホスト入力可能)”、“キーボードタイプ”、“キーボード位置”を“指定”、は“(300,220)”、“数値限定”を“Yes”、制限范囲は“0-100”とし、以下のようにする

同様に、フルキーボード入力の構成は、“キーボードタイプ”を“フルキーボード”に変更するだけで、その他のパラメータは要件に応じて構成されます。
プレビューの実行
バーチャルスクリーンを実行し、画面(画面ID:1)内のテキストコントロール(コントロールID:1)をクリックし、キーボードをポップアップし、“66”と入力してリターンを入力します。仮想スクリーンが対応するコマンドを送信すると,以下のように動作する.

2.4アート·ワード·ディスプレイ
[アートワード表示]画面は、アートワード表示効果を使用して、まず対応するICONファイルを生成し、テキストコントロールのプロパティバーウィンドウで、ICONファイルを“アイコンファイル”構成オプションに追加します。
画面の設定
[ワードアート表示]画面の“背景画像”に対応するアートワークをインポートします。画面にテキストコントロールを1つ追加(コントロールID:1)
アートの生成。
ファイル作成方法は2種類あります。
- アイコンの生成
- アートの生成。
アイコンの生成
- アイコン生成インターフェイスを開くVisual TFTソフトウェアのメニューバーで、以下のように[ツール] → [アイコン生成]を選択します。

- アイコン作成[フレームを増やす]をクリックして、用意した素材を厳密に“[0-9]、[?]に従います。* - + ? /]、[A-Z]、[a-z]の順に追加します。追加しないとエラーが表示されます。ユーザーは画像をインポートし、デフォルトで元の幅と高さの表示になりますが、幅と高さの微調整や任意のドラッグで位置調整を行い、最後に“アイコンを生成”をクリックします。操作は以下の通りです。

アートの生成。
- Visual TFTソフトウェアのメニューバーで、以下のように[ツール] → [アイコン生成]を選択します。

- アート·ワード·プロダクション
- アイコンのサイズをします。高さと幅は128*64
- フォント名:表示効果に応じて、対応するTFT文字バンクファイルを選択して、ネット上でダウンロードして入手できる
- フォントサイズデフォルトで表示されるフォントサイズ
- フォントの色:フォントの表示色を設定します。
- 文字集合:全3種類,以下のとおり1)数字:数字0  ̄ 92)数字と記号:数字0  ̄ 9,文字[?.*-+?/]. 3)数字/記号/アルファベット:数字0~9、文字[**-+*/]、大文字A~Z、小文字A~Z
- グラデーション処理グラデーション、塗り潰し背景色、ALPHAチャンネルを無効にする
- 背景色:フォントのデフォルトの背景色を表示します。
設定は以下の通り。[アイコン生成]をクリックしてアイコン生成を完了

プロパティの構成
[Word Article]を“はい”、[アイコンファイル]を挿入[Word Article.iconファイル]を挿入、[小数点幅]を“50%”、[縦揃え]を“中央揃え”、[入力方式]を“ユーザーホスト入力”に設定し、以下のように設定します。

プレビューの実行
仮想画面、Visual TFTソフトウェア、仮想画面“仮想シリアルポート”をオンラインで実行します。コマンドアシスタントを開き、左側のナビゲーションバー“テキストコントロール1”を選択し、“テキストコントロールを更新”コマンドパラメータを設定します。ルーチンのように、コントロール画面(画面ID:2)のテキストコントロール(コントロールID:1)で、“テキスト”を“123”と入力し、“送信”をクリックします。バーチャル画面のテキストコントロール1は、デフォルトの“18.8”から“123”に表示され、以下のように動作します。

2.5テキストの増分調整アプリケーション
ボタンコントロールからテキストコントロールの表示値の“自己増”または“自己減”操作を制御します。調整されたステップサイズが整数の場合、増分調整の操作は画面内で実現できます。調整されたステップサイズが小数、文字列(時間)などの場合、MCUデータインタラクション実装、またはLUAスクリプト実装が必要です(ここでは説明しません)
整数の調整
画面の設定
[テキスト増分調整]画面の[背景画像]に対応するアートワークをインポートします。画面にテキストコントロール1個(コントロールID:3)、ボタンコントロール2個(コントロールID:1と2)を追加すると、以下のようになります。
プロパティの構成
- テキストコントロール属性コントロールIDが3のテキストコントロールであり、テキストが“0”、フォントが“ASC_CHS_24”、垂直位置揃えが“垂直中心”、入力方式が“ユーザーホスト入力”にされ、以下のようにされる

- ボタンコントロールのプロパティ1.記入ボタン増分調節対内指令:選択ボタンコントロール(コントロールID:1)2。属性栏の“対内コマンド”→“ボタン押下”3.ポップアップ命令記入ボックス4. Command Assistantを選択し、Command Assistantインターフェイスの左側ナビゲーションバーで[Text Control 2]を選択し、[Incremental Adjust]領域のCommandパラメーターを設定します。ルーチン中のように、制御画面ID3中のテキストコントロールIDは0-100の範囲内でステップサイズを1とする単位で5減少する。対応するボタンへの指示
同様に、増分的操作修正【調節方式】は“増分”でよい。注:内部命令の増分調整方法は、整数のサイズ調整にのみ適しており、小数はサポートしていません。
プレビューの実行
バーチャルスクリーンを実行し、画面(画面ID:3)内のボタンコントロール(コントロールID:1または2)をクリックし、テキストコントロールの数値を1のステップサイズで調整すると、以下のようになります。リファレンス開発パッケージkeilプログラム内のhim. dever.hファイル関数宣言およびhim. dever.cファイル内の定義

小数の調整
画面の設定
“テキスト増分調節”画面にテキストコントロール1個(コントロールID:6)、ボタンコントロール2個(コントロールID:4と5)を追加します。
プロパティの構成
コントロールIDが6のテキストコントロールであり、テキストが“0”、フォントが“ASC_CHS_24”、垂直位置揃えが“中央揃え”、入力方式が“ユーザホスト入力”にされ、以下のようにされる

実装方法は
LUAスクリプトM/F/Wシリーズをサポートするスクリプト処理は、この章では説明せず、主に一般的な方法、ユーザーマイクロコントローラの相互作用実装を説明します。
- インクリメントボタン(コントロールID:5)を押すと、画面はシングルチップにボタンコントロールのコマンドを送信します。
- シングルチップがボタンコントロールコマンドを解析した後、ボタンコントロール(コントロールID:5)が押されていると判断した場合、テキストコントロール(コントロールID:6)を取得するコマンドを送信し、テキストコントロール値を取得します。関連コードは次のとおりです。
/** * ********************************************************************* uint16 screen_idまたはGetControlValueなし **&&*******************************************************************&&* /** ************************* Function name GetControlValue uint16 screen_idなし ** Returned valueなし *******************************************************************Copy
取得されたテキストコントロール値はデフォルトで文字列であり、Cライブラリ関数のsscanf関数を呼び出し、文字列を単精度浮動小数点数(小数)に変換し、0.1単位の増分演算を行い、テキストコントロール値をシリアルディスプレイに更新します。コードは次の通り。
void NotifyText(uint16 screen_id, uint16 control_id, uint8 *str)
{
floatテスト値= 0.0;
……
if screen_id == 3_id == 6//画面ID2テキストと表示
{
sscanf str " %%. 1f" TestValue; //文字列を浮動小数点数に変換
テスト値+= 0.1; //テキスト値は増加します。
/** *******************************************
** 名 void SetTextFloat uint16 screen_id
uint16 control_id、
float value
uint8 precision、
uint8 show_zeros;
** tions テキスト単精度小数点/小数点の
** input parameters screen_id画面ID
** control_idコントロールIDコントロールID
** value表示された浮動小数点数
** precision: 小数の桁数
** show_zero:1の場合、末尾に0を表示します。
** output parametersなし
** Returned value なしなし。
*****************************************************************/
SetTextFloat 3 6 TestValue 1 1;//画面ID3、コントロールID6の各々の増分値
}
……
}時間の調整
時間の増分調節は、ユーザーは小数増分方法を参照でき、ユーザーホストと結合してデータ相互作用を完成し、ユーザーホストは対応して文字列処理関数を呼び出すだけで実現できる
[wshop_downloads]
发表回复